DEVICE_GET_STATE(9) | Kernel Developer's Manual | DEVICE_GET_STATE(9) |
device_get_state
,
device_busy
, device_unbusy
,
device_is_alive
,
device_is_attached
—
manipulate device state
#include
<sys/param.h>
#include <sys/bus.h>
device_state_t
device_get_state
(device_t
dev);
void
device_busy
(device_t
dev);
void
device_unbusy
(device_t
dev);
int
device_is_alive
(device_t
dev);
int
device_is_attached
(device_t
dev);
The current state of a device is accessed by calling
device_get_state
()
which returns DS_NOTPRESENT
,
DS_ALIVE
, DS_ATTACHED
or
DS_BUSY
(described in device(9)).
To test see if a device was successfully probed, call
device_is_alive
()
which simply returns if the state is greater or equal to
DS_ALIVE
. To test see if a device was successfully
attached, call
device_is_attached
()
which simply returns if the state is greater or equal to
DS_ATTACHED
.
Each device has a busy count which is incremented
when
device_busy
()
is called and decremented when
device_unbusy
()
is called. Both routines return an error if the device state is less than
DS_ATTACHED
.
When
device_busy
()
is called on a device in the DS_ATTACHED
state, the
device changes to the DS_BUSY
state. When
device_unbusy
()
is called and after decrementing, the busy count for the device is zero, the
device changes to the DS_ATTACHED
state.
This manual page was written by Doug Rabson.
June 16, 1998 | Debian |