pm_busy_component(9F)
NAME
pm_busy_component, pm_idle_component − control device components’ 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).
ARGUMENTS
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 number 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() function has no effect if the component is already idle, except to update the system’s notion of when the device went idle.
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.
SEE ALSO
power.conf(4), pm(7D), pm(9E), pm_create_components(9F), pm_destroy_components(9F)
Writing Device Drivers
SunOS 5.6 — Last change: 28 Oct 1996