DDI_DEV_IS_SID(9F)      Kernel Functions for Drivers      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
       illumos DDI specific (illumos DDI).
PARAMETERS
       dip              A pointer to the device's 
dev_info structure.
DESCRIPTION
       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 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
       The 
ddi_dev_is_sid() function can be called from user, interrupt, or
       kernel 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                               August 22, 2023            DDI_DEV_IS_SID(9F)