summaryrefslogtreecommitdiff
path: root/static/freebsd/man9/MODULE_PNP_INFO.9 4.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man9/MODULE_PNP_INFO.9 4.html')
-rw-r--r--static/freebsd/man9/MODULE_PNP_INFO.9 4.html177
1 files changed, 0 insertions, 177 deletions
diff --git a/static/freebsd/man9/MODULE_PNP_INFO.9 4.html b/static/freebsd/man9/MODULE_PNP_INFO.9 4.html
deleted file mode 100644
index c8adacb0..00000000
--- a/static/freebsd/man9/MODULE_PNP_INFO.9 4.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">MODULE_PNP_INFO(9)</td>
- <td class="head-vol">Kernel Developer's Manual</td>
- <td class="head-rtitle">MODULE_PNP_INFO(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">MODULE_PNP_INFO</code> &#x2014;
- <span class="Nd">register plug and play information for device
- matching</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/module.h</a>&gt;</code></p>
-<p class="Pp"><code class="Fn">MODULE_PNP_INFO</code>(<var class="Fa">const char
- *descriptor_string</var>, <var class="Fa">bus</var>,
- <var class="Fa">module</var>, <var class="Fa">void *table</var>,
- <var class="Fa">size_t num_entries</var>);</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp">The
- <a class="permalink" href="#MODULE_PNP_INFO"><code class="Fn" id="MODULE_PNP_INFO">MODULE_PNP_INFO</code></a>()
- macro registers a <var class="Fa">table</var> of device-identifying data for
- use by <a class="Xr">devmatch(8)</a>. Since it is built off module marking
- macros, it must follow a <a class="Xr">DRIVER_MODULE(9)</a> line.</p>
-<p class="Pp">The macro takes a <var class="Fa">descriptor_string</var> that
- describes the memory layout of table entries. The string is a series of
- members separated by semi-colons. Members are identified by a type and a
- name. They are encoded in the descriptor string by concatenating the type
- with a colon, followed by the name. (The special type
- <var class="Vt">W32</var> represents two members. The first name is encoded
- like any other type. The second name is encoded by appending a forward slash
- and the second name after the first.)</p>
-<p class="Pp">Types are one of the following:</p>
-<dl class="Bl-tag">
- <dt>&#x201C;<var class="Vt">U8</var>&#x201D;</dt>
- <dd><var class="Vt">uint8_t</var> element.</dd>
- <dt>&#x201C;<var class="Vt">V8</var>&#x201D;</dt>
- <dd>Same as <var class="Vt">U8</var>, except that the sentinel value 0xFF
- matches any.</dd>
- <dt>&#x201C;<var class="Vt">G16</var>&#x201D;</dt>
- <dd><var class="Vt">uint16_t</var> element; any value greater than or equal
- matches.</dd>
- <dt>&#x201C;<var class="Vt">L16</var>&#x201D;</dt>
- <dd><var class="Vt">uint16_t</var> element; any value less than or equal
- matches.</dd>
- <dt>&#x201C;<var class="Vt">M16</var>&#x201D;</dt>
- <dd><var class="Vt">uint16_t</var> element; mask of which of the following
- fields to use.</dd>
- <dt>&#x201C;<var class="Vt">U16</var>&#x201D;</dt>
- <dd><var class="Vt">uint16_t</var> element.</dd>
- <dt>&#x201C;<var class="Vt">V16</var>&#x201D;</dt>
- <dd>Same as <var class="Vt">U16</var>, except that the sentinel value 0xFFFF
- matches any.</dd>
- <dt>&#x201C;<var class="Vt">U32</var>&#x201D;</dt>
- <dd><var class="Vt">uint32_t</var> element.</dd>
- <dt>&#x201C;<var class="Vt">V32</var>&#x201D;</dt>
- <dd>Same as <var class="Vt">U32</var>, except that the sentinel value
- 0xFFFFFFFF matches any.</dd>
- <dt>&#x201C;<var class="Vt">W32</var>&#x201D;</dt>
- <dd>Two <var class="Vt">uint16_t</var> values; the first named member is in
- the least significant word and the second named member is in the most
- significant word.</dd>
- <dt>&#x201C;<var class="Vt">Z</var>&#x201D;</dt>
- <dd>A pointer to a string to match exactly.</dd>
- <dt>&#x201C;<var class="Vt">D</var>&#x201D;</dt>
- <dd>A pointer to a human readable description for the device.</dd>
- <dt>&#x201C;<var class="Vt">P</var>&#x201D;</dt>
- <dd>A pointer that should be ignored.</dd>
- <dt>&#x201C;<var class="Vt">E</var>&#x201D;</dt>
- <dd>EISA PNP Identifier.</dd>
- <dt>&#x201C;<var class="Vt">T</var>&#x201D;</dt>
- <dd>PNP info that is true for the whole table. The driver code checks for
- these condition pragmatically before using this table to match devices.
- This item must come last in the list.</dd>
-</dl>
-<p class="Pp">The pseudo-name &#x201C;#&#x201D; is reserved for fields that
- should be ignored. Any member that does not match the parent device's
- pnpinfo output must be ignored.</p>
-<p class="Pp">The <var class="Fa">bus</var> parameter is an unquoted word naming
- the parent bus of the driver. For example, &#x201C;pci&#x201D;.</p>
-<p class="Pp">The <var class="Fa">module</var> parameter is also an unquoted
- word. It must be unique to the driver. Usually the driver's name is
- used.</p>
-<p class="Pp">The <var class="Fa">table</var> parameter points to the device
- matching data with entries matching the
- <var class="Fa">descriptor_string</var>.</p>
-<p class="Pp">The <var class="Fa">num_entries</var> parameter is the number of
- entries in the table, i.e.,
- &#x2018;<code class="Li">nitems(table)</code>&#x2019;. Note that only valid
- entries should be included. If the table contains trailing zero or bogus
- values, they should not be included in
- <var class="Fa">num_entries</var>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
-<dl class="Bl-tag">
- <dt id="Example"><a class="permalink" href="#Example"><b class="Sy">Example
- 1:</b></a> <span class="No">Using W32 for vendor/device pair</span></dt>
- <dd>
- <p class="Pp">The following example shows usage of <var class="Vt">W32</var>
- type when vendor/device values are combined into single
- <var class="Vt">uint32_t</var> value:</p>
- <div class="Bd Pp Li">
- <pre>#include &lt;sys/param.h&gt;
-#include &lt;sys/module.h&gt;
-
-static struct my_pciids {
- uint32_t devid;
- const char *desc;
-} my_ids[] = {
- { 0x12345678, &quot;Foo bar&quot; },
- { 0x9abcdef0, &quot;Baz fizz&quot; },
-};
-
-MODULE_PNP_INFO(&quot;W32:vendor/device;D:#&quot;, pci, my_driver, my_ids,
- nitems(my_ids));</pre>
- </div>
- </dd>
- <dt id="Example~2"><a class="permalink" href="#Example~2"><b class="Sy">Example
- 2:</b></a> <span class="No">Using T for common vendor value</span></dt>
- <dd>
- <p class="Pp">The following example shows usage of <var class="Vt">T</var>
- type when all entries in the table have the same vendor value:</p>
- <div class="Bd Pp Li">
- <pre>#include &lt;sys/param.h&gt;
-#include &lt;sys/module.h&gt;
-
-static struct my_pciids {
- uint16_t device;
- const char *desc;
-} my_ids[] = {
- { 0x9abc, &quot;Foo bar&quot; },
- { 0xdef0, &quot;Baz fizz&quot; },
-};
-
-MODULE_PNP_INFO(&quot;U16:device;D:#;T:vendor=0x1234&quot;, pci, my_driver,
- my_ids, nitems(my_ids));</pre>
- </div>
- </dd>
-</dl>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
-<p class="Pp">The <code class="Nm">MODULE_PNP_INFO</code> macro must follow
- <code class="Dv">DRIVER_MODULE</code> invocations due to limitations in the
- <code class="Dv">linker.hints</code> file format.</p>
-</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">devmatch(8)</a>, <a class="Xr">DRIVER_MODULE(9)</a>,
- <a class="Xr">module(9)</a></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
-<p class="Pp">The macro <code class="Nm">MODULE_PNP_INFO</code> appeared in
- <span class="Ux">FreeBSD 11.0</span>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
-<p class="Pp">The PNP framework and <a class="Xr">devmatch(8)</a> utility were
- written by <span class="An">Warner Losh</span>
- &lt;<a class="Mt" href="mailto:imp@FreeBSD.org">imp@FreeBSD.org</a>&gt;.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">May 23, 2019</td>
- <td class="foot-os">FreeBSD 15.0</td>
- </tr>
-</table>