DDI_DEV_IS_SID(9F) | Kernel Functions for Drivers | DDI_DEV_IS_SID(9F) |
ddi_dev_is_sid - tell whether a device is self-identifying
#include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> int ddi_dev_is_sid(dev_info_t *dip);
illumos DDI specific (illumos DDI).
dip
The ddi_dev_is_sid() function 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).
DDI_SUCCESS
DDI_FAILURE
The ddi_dev_is_sid() function can be called from user, interrupt, or kernel context.
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 ...
probe(9E) Writing Device Drivers
January 16, 2006 | OmniOS |