'\" te .\" Copyright (c) 2004, Sun Microsystems, Inc., All Rights Reserved .TH usb_create_pm_components 9F "5 Jan 2004" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME usb_create_pm_components \- Create power management components for USB devices .SH SYNOPSIS .LP .nf #include \fBint\fR \fBusb_create_pm_components\fR(\fBdev_info_t *\fR\fIdip\fR, \fBuint_t *\fR\fIpwrstates\fR); .fi .SH INTERFACE LEVEL .sp .LP Solaris DDI specific (Solaris DDI) .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIdip\fR\fR .ad .RS 13n .rt Pointer to the device's \fBdev_info\fR structure. .RE .sp .ne 2 .mk .na \fB\fIpwrstates\fR\fR .ad .RS 13n .rt Address into which a mask which lists power states capable by device is returned. This is a bitmask containing zero or more of the following values: .RE .sp .ne 2 .mk .na \fBUSB_DEV_PWRMASK_D0\fR .ad .RS 22n .rt Corresponds to USB_DEV_OS_PWR_3 or full power. .RE .sp .ne 2 .mk .na \fBUSB_DEV_PWRMASK_D1\fR .ad .RS 22n .rt Corresponds to USB_DEV_OS_PWR_2. .RE .sp .ne 2 .mk .na \fBUSB_DEV_PWRMASK_D2\fR .ad .RS 22n .rt Corresponds to USB_DEV_OS_PWR_1. .RE .sp .ne 2 .mk .na \fBUSB_DEV_PWRMASK_D3\fR .ad .RS 22n .rt Corresponds to USB_DEV_OS_PWR_0 or no power. .RE .SH DESCRIPTION .sp .LP The \fBusb_create_pm_components()\fR function creates pm component properties that assume the standard USB D0-D3 powerlevels (USB_DEV_PWR_D0 - USB_DEV_PWR_D3). See the device's relevant USB descriptor to determine the device's power management capabilities and account for bus-powered devices. The \fBusb_create_pm_components()\fR function also updates the pm-components property in the device's dev_info structure. .sp .LP Note that these USB power levels are inverse of OS power levels. For example, USB_DEV_OS_PWR_0 and USB_DEV_PWR_D3 are equivalent levels corresponding to powered-down. .SH RETURN VALUES .sp .ne 2 .mk .na \fBUSB_SUCCESS\fR .ad .RS 15n .rt Power management facilities in device are recognized by system. .RE .sp .ne 2 .mk .na \fBUSB_FAILURE\fR .ad .RS 15n .rt An error occurred. .RE .SH CONTEXT .sp .LP May be called from user or kernel context. .SH EXAMPLES .sp .in +2 .nf uint_t *pwrstates; /* Hook into device's power management. Enable remote wakeup. */ if (usb_create_pm_components(dip, pwrstates) == USB_SUCCESS) { usb_handle_remote_wakeup(dip,USB_REMOTE_WAKEUP_ENABLE); } .fi .in -2 .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ ArchitecturePCI-based systems _ Interface StabilityCommitted _ Availabilitysystem/io/usb .TE .SH SEE ALSO .sp .LP \fBattributes\fR(5), \fBusb_clr_feature\fR(9F), \fBusb_register_hotplug_cbs\fR(9F), \fBusb_get_cfg\fR(9F), \fBusb_get_dev_data\fR(9F), \fBusb_handle_remote_wakeup\fR(9F), \fBpm_idle_component\fR(9F), \fBpm_busy_component\fR(9F), \fBpm_raise_power\fR(9F), \fBpm_lower_power\fR(9F), \fBusb_cfg_descr\fR(9S)