| Current File : //usr/share/man/man9f/usb_create_pm_components.9f |
'\" 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 <sys/usb/usba.h>
\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)