Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

usb_create_pm_components(9f) [opensolaris man page]

usb_create_pm_components(9F)				   Kernel Functions for Drivers 			      usb_create_pm_components(9F)

NAME
usb_create_pm_components - Create power management components for USB devices SYNOPSIS
#include <sys/usb/usba.h> 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 a bitmask containing zero or more of the following 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 management capabilities and account for bus-pow- ered 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 power levels. For example, USB_DEV_OS_PWR_0 and USB_DEV_PWR_D3 are equivalent levels corresponding to powered-down. 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 attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Architecture |PCI-based systems | +-----------------------------+-----------------------------+ |Interface stability |Committed | +-----------------------------+-----------------------------+ |Availability |SUNWusb | +-----------------------------+-----------------------------+ 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 5 Jan 2004 usb_create_pm_components(9F)

Check Out this Related Man Page

pm_busy_component(9F)					   Kernel Functions for Drivers 				     pm_busy_component(9F)

NAME
pm_busy_component, pm_idle_component - Control device component availability for Power Management SYNOPSIS
#include <sys/ddi.h> #include <sys/sunddi.h> int pm_busy_component(dev_info_t *dip, int component); int pm_idle_component(dev_info_t *dip, int component); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI) PARAMETERS
pm_busy_component() dip Pointer to the device's dev_info structure. component The number of the component to be power-managed. pm_idle_component() dip Pointer to the device's dev_info structure. component The number of the component to be power-managed. DESCRIPTION
The pm_busy_component() function sets component of dip to be busy. Calls to pm_busy_component() are stacked, requiring a corresponding num- ber of calls to pm_idle_component() to make the component idle again. When a device is busy it will not be power-managed by the system. The pm_idle_component() function marks component idle, recording the time that component went idle. This function must be called once for each call to pm_busy_component(). A component which is idle is available to be power-managed by the system. The pm_idle_component() func- tion has no effect if the component is already idle, except to update the system's notion of when the device went idle. Note - If these functions are called as a result of entry into the driver's attach(9E), detach(9E) or power(9E) entry point, these func- tions must be called from the same thread which entered attach(9E), detach(9E) or power(9E). RETURN VALUES
The pm_busy_component() and pm_idle_component() functions return: DDI_SUCCESS Successfully set the indicated component busy or idle. DDI_FAILURE Invalid component number component or the device has no components. CONTEXT
These functions can be called from user or kernel context. These functions may also be called from interrupt context, providing they are not the first Power Management function called by the driver. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface stability |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
power.conf(4), pm(7D), attach(9E), detach(9E), power(9E), pm_raise_power(9F), pm(9P), pm-components(9P) Writing Device Drivers SunOS 5.10 21 July 2004 pm_busy_component(9F)
Man Page