User Tools

Site Tools


solaris:ddi_dev_is_sid.9f

ddi_dev_is_sid


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).

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 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

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

Writing Device Drivers in Oracle Solaris 11.4 probe(9E)


solaris/ddi_dev_is_sid.9f.txt · Last modified: 2023/07/19 08:58 by A User Not Logged in