NAME | SYNOPSIS | INTERFACE LEVEL | DESCRIPTION | PARAMETERS | RETURN VALUES | EXAMPLES | ATTRIBUTES | SEE ALSO
#include <sys/ddi.h> #include <sys/sunddi.h>int ddi_removing_power(dev_info_t *dip);
Solaris DDI specific (Solaris DDI)
The ddi_removing_power() function indicates whether a currently pending call into a driver's detach(9E) entry point with a command of DDI_SUSPEND is likely to result in power being removed from the device.
ddi_removing_power() can return true and power still not be removed from the device due to a failure to suspend and power off the system.
The ddi_removing_power() function supports the following parameter:
pointer to the device's dev_info structure
The ddi_removing_power() function returns:
Power might be removed by the framework as a result of the pending DDI_SUSPEND call.
Power will not be removed by the framework as a result of the pending DDI_SUSPEND call.
A tape driver that has hardware that would damage the tape if power is removed might include this code in its detach(9E) code:
int xxdetach(dev_info_t *dip, ddi_detach_cmd_t cmd) { ... case DDI_SUSPEND: /* * We do not allow DDI_SUSPEND if power will be removed and * we have a device that damages tape when power is removed * We do support DDI_SUSPEND for Device Reconfiguration, however. */ if (ddi_removing_power(dip) && xxdamages_tape(dip)) return (DDI_FAILURE); ...
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
attributes(5), cpr(7), attach(9E), detach(9E)
Writing Device Drivers
NAME | SYNOPSIS | INTERFACE LEVEL | DESCRIPTION | PARAMETERS | RETURN VALUES | EXAMPLES | ATTRIBUTES | SEE ALSO