NAME
device_get_state
,
device_busy
, device_unbusy
,
device_is_alive
—
manipulate device state
SYNOPSIS
#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);
DESCRIPTION
The current state of a device is accessed by callingdevice_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
.
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.
SEE ALSO
AUTHORS
This man page was written by Doug Rabson.