Kernel Functions for Drivers usb_create_pm_components(9F)
NAME
usb_create_pm_components - Create power management com-
ponents for USB devicesSYNOPSIS
#include
int usb_create_pm_components(dev_info_t *dip, uint_t *pwrstates);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI)PARAMETERS
dip Pointer to the device's dev_info structure.
pwrstates Address into which a mask which lists power states capable by device is returned. This is abitmask containing zero or more of the follow-
ing values:USB_DEV_PWRMASK_D0 Corresponds to USB_DEV_OS_PWR_3 or
full power.USB_DEV_PWRMASK_D1 Corresponds to USB_DEV_OS_PWR_2.
USB_DEV_PWRMASK_D2 Corresponds to USB_DEV_OS_PWR_1.
USB_DEV_PWRMASK_D3 Corresponds to USB_DEV_OS_PWR_0 or no
power.DESCRIPTION
The usb_create_pm_components() 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 managementcapabilities and account for bus-powered devices. The
usb_create_pm_components() function also updates the pm-
components property in the device's dev_info structure.
Note that these USB power levels are inverse of OS powerlevels. For example, USB_DEV_OS_PWR_0 and USB_DEV_PWR_D3 are
equivalent levels corresponding to powered-down.
SunOS 5.11 Last change: 5 Jan 2004 1
Kernel Functions for Drivers usb_create_pm_components(9F)
RETURN VALUES
USB_SUCCESS Power management facilities in device are
recognized by system.USB_FAILURE An error occurred.
CONTEXT
May be called from user or kernel context.EXAMPLES
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);
}ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Architecture | PCI-based systems |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| Availability | driver/usb ||_____________________________|_____________________________|
SEE ALSO
attributes(5), usb_clr_feature(9F),
usb_register_hotplug_cbs(9F), usb_get_cfg(9F),
usb_get_dev_data(9F), usb_handle_remote_wakeup(9F),
pm_idle_component(9F), pm_busy_component(9F),
pm_raise_power(9F), pm_lower_power(9F), usb_cfg_descr(9S)
SunOS 5.11 Last change: 5 Jan 2004 2