ddi_dev_is_sid(9F)
NAME
ddi_dev_is_sid − tell whether a device is self-identifying
SYNOPSIS
#include <sys/conf.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_dev_is_sid(dev_info_t ∗dip);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).
ARGUMENTS
dip A pointer to the device’s dev_info structure.
DESCRIPTION
ddi_dev_is_sid() tells the caller whether the device described by dip is self-identifying, that is, a device that can unequivocally tell the system that it exists. This is useful for drivers that support both a self-identifying as well as a non-self-identifying variants of a device (and therefore must be probed).
RETURN VALUES
DDI_SUCCESS
Device is self-identifying.
DDI_FAILURE
Device is not self-identifying.
CONTEXT
ddi_dev_is_sid() can be called from user or interrupt context.
EXAMPLES
1 ...
2 int
3 bz_probe(dev_info_t ∗dip)
4 {
5 ...
6 if (ddi_dev_is_sid(dip) == DDI_SUCCESS) {
7 /∗
8 ∗ This is the self-identifying version (OpenBoot).
9 ∗ No need to probe for it because we know it is there.
10 ∗ The existence of dip && ddi_dev_is_sid() proves this.
11 ∗/
12 return (DDI_PROBE_DONTCARE);
13 }
14 /∗
15 ∗ Not a self-identifying variant of the device. Now we have to
16 ∗ do some work to see whether it is really attached to the
17 ∗ system.
18 ∗/
19 ...
SEE ALSO
probe(9E)
Writing Device Drivers
SunOS 5.5/SPARC — Last change: 24 Oct 1991