NO-INVOLUNTARY-POWER-CYCLES(9P) Kernel Properties for Drivers
NAME
no-involuntary-power-cycles - device property to prevent involuntary
power cycles
DESCRIPTION
A device that might be damaged by power cycles should export the
boolean (zero length) property
no-involuntary-power-cycles to notify
the system that all power cycles for the device must be under the
control of the device driver.
The presence of this property prevents power from being removed from
a device or any ancestor of the device while the device driver is
detached, unless the device was voluntarily powered off as a result
of the device driver calling
pm_lower_power(9F).
The presence of
no-involuntary-power-cycles also forces attachment of
the device driver during a CPR suspend operation and prevents the
suspend from taking place, unless the device driver returns
DDI_SUCCESS when its
detach(9E) entry point is called with
DDI_SUSPEND.
The presence of
no-involuntary-power-cycles does not prevent the
system from being powered off due to a
halt(8) or
uadmin(8) invocation, except for CPR suspend.
This property can be exported by a device that is not power
manageable, in which case power is not removed from the device or
from any of its ancestors, even when the driver for the device and
the drivers for its ancestors are detached.
EXAMPLES
Example 1: Use of Property in Driver's Configuration File
The following is an example of a
no-involuntary-power-cycles entry in
a driver's
.conf file:
no-involuntary-power-cycles=1;
...
Example 2: Use of Property in attach() Function
The following is an example of how the preceding
.conf file entry
would be implemented in the
attach(9E) function of a driver:
xxattach(dev_info_t *dip, ddi_attach_cmd_t cmd)
{
...
if (ddi_prop_create(DDI_DEV_T_NONE, dip, DDI_PROP_CANSLEEP,
"no-involuntary-power-cycles", NULL, 0) != DDI_PROP_SUCCESS)
goto failed;
...
}
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface stability | Committed |
+--------------------+-----------------+
SEE ALSO
pm(4D),
attributes(7),
attach(9E),
detach(9E),
ddi_prop_create(9F) Writing Device Drivers March 22, 2001
NO-INVOLUNTARY-POWER-CYCLES(9P)