Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Kernel Functions for Driversddi_removing_power(9F)


NAME

 ddi_removing_power - check whether DDI_SUSPEND might result in power being removed from a device

SYNOPSIS

 
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_removing_power(dev_info_t *dip);

INTERFACE LEVEL

 

Solaris DDI specific (Solaris DDI)

DESCRIPTION

 

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.

PARAMETERS

 

The ddi_removing_power() function supports the following parameter:

dip
pointer to the device's dev_info structure

RETURN VALUES

 

The ddi_removing_power() function returns:

1
Power might be removed by the framework as a result of the pending DDI_SUSPEND call.
0
Power will not be removed by the framework as a result of the pending DDI_SUSPEND call.

EXAMPLES

 Example 1. Protecting a Tape from Abrupt Power Removal
 

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);
          ...

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityEvolving

SEE ALSO

 

attributes(5), cpr(7), attach(9E), detach(9E)

Writing Device Drivers


SunOS 5.9Go To TopLast Changed 14 March 2001

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.