summaryrefslogtreecommitdiff
path: root/static/freebsd/man9/DEVICE_IDENTIFY.9 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man9/DEVICE_IDENTIFY.9 3.html')
-rw-r--r--static/freebsd/man9/DEVICE_IDENTIFY.9 3.html86
1 files changed, 0 insertions, 86 deletions
diff --git a/static/freebsd/man9/DEVICE_IDENTIFY.9 3.html b/static/freebsd/man9/DEVICE_IDENTIFY.9 3.html
deleted file mode 100644
index 5134840f..00000000
--- a/static/freebsd/man9/DEVICE_IDENTIFY.9 3.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">DEVICE_IDENTIFY(9)</td>
- <td class="head-vol">Kernel Developer's Manual</td>
- <td class="head-rtitle">DEVICE_IDENTIFY(9)</td>
- </tr>
-</table>
-<div class="manual-text">
-<section class="Sh">
-<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
-<p class="Pp"><code class="Nm">DEVICE_IDENTIFY</code> &#x2014;
- <span class="Nd">identify new child devices and register them</span></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
-<p class="Pp"><code class="In">#include
- &lt;<a class="In">sys/param.h</a>&gt;</code>
- <br/>
- <code class="In">#include &lt;<a class="In">sys/bus.h</a>&gt;</code></p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">DEVICE_IDENTIFY</code>(<var class="Fa" style="white-space: nowrap;">driver_t
- *driver</var>, <var class="Fa" style="white-space: nowrap;">device_t
- parent</var>);</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp">The identify method of a device driver is used to add devices that
- cannot be enumerated by the standard method on a bus device. Devices can be
- enumerated in various ways including accessing non-ambiguous device
- registers and parsing firmware tables. Software-only pseudo devices are also
- often enumerated via identify methods.</p>
-<p class="Pp">For each newly identified device, a new device instance should be
- created by invoking the <a class="Xr">BUS_ADD_CHILD(9)</a> method. If the
- identify method is able to discover other properties about the new device,
- those should also be set. For example, device resources should be added to
- the device by calling <a class="Xr">bus_set_resource(9)</a> for each
- resource.</p>
-<p class="Pp">An identify method might be invoked multiple times. If a device
- driver is unloaded and loaded, the identify method will be called a second
- time after being reloaded. As a result, the identify method should avoid
- duplicate devices. Devices added by identify methods typically use a fixed
- device name in which case <a class="Xr">device_find_child(9)</a> can be used
- to detect existing devices.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
-<p class="Pp">The following pseudo-code shows an example of a function that
- probes for a piece of hardware and registers it and its resource (an I/O
- port) with the parent bus device.</p>
-<div class="Bd Pp Li">
-<pre>void
-foo_identify(driver_t *driver, device_t parent)
-{
- device_t child;
-
- retrieve_device_information;
- if (devices matches one of your supported devices &amp;&amp;
- device_find_child(parent, &quot;foo&quot;, DEVICE_UNIT_ANY) == NULL) {
- child = BUS_ADD_CHILD(parent, 0, &quot;foo&quot;, DEVICE_UNIT_ANY);
- bus_set_resource(child, SYS_RES_IOPORT, 0, FOO_IOADDR, 1);
- }
-}</pre>
-</div>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
- ALSO</a></h1>
-<p class="Pp"><a class="Xr">BUS_ADD_CHILD(9)</a>,
- <a class="Xr">bus_identify_children(9)</a>,
- <a class="Xr">bus_set_resource(9)</a>, <a class="Xr">device(9)</a>,
- <a class="Xr">device_find_child(9)</a></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
-<p class="Pp">This manual page was written by <span class="An">Alexander
- Langer</span>
- &lt;<a class="Mt" href="mailto:alex@FreeBSD.org">alex@FreeBSD.org</a>&gt;.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">February 5, 2025</td>
- <td class="foot-os">FreeBSD 15.0</td>
- </tr>
-</table>