man Pages(9E): DDI and DKI Driver Entry Points
只搜寻这本书
以 PDF 格式下载本书

NAME

power - power a device attached to the system

SYNOPSIS

#include <sys/ddi.h>
#include <sys/sunddi.h>

int prefixpower(dev_info_t * dip, int component, int level)

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI). This entry point is required. If the driver writer does not supply this entry point, the nulldev(9F) function must be used.

ARGUMENTS

dip
A pointer to the device's dev_info structure.
component
The component of the driver to be managed.
level
The desired power level for the component.

DESCRIPTION

The power( ) function is the device-specific power management entry point. This function is called when the system wants the driver to set the power level of component to level.
The level argument is the driver-defined power level to which component is set. Except for power level 0 which is defined by the framework to mean "powered off", the interpretation of level is entirely up to the driver.
The component argument is the component of the device to be power-managed. Except for component 0, which must represent the entire device, the interpretation of component is entirely up to the driver.
The power( ) function can assume that the driver will be suspended (using detach(9E) with command DDI_PM_SUSPEND ),before a request is made to set component 0 to power level 0 and resumed (using attach(9E) with command DDI_PM_RESUME )after setting component 0 from power level 0 to a non-zero power level.

RETURN VALUES

The power( ) function returns:
DDI_SUCCESS
Successfully set the power to the requested level.
DDI_FAILURE
Failed to set the power to the requested level.

CONTEXT

The power( ) function is called from user or kernel context only.

SEE ALSO

attach(9E), detach(9E), nulldev(9F), pm_busy_component(9F), pm_create_components(9F), pm_destroy_components(9F), pm_idle_component(9F)
Writing Device Drivers