xref: /freebsd/share/man/man9/BUS_CHILD_PNPINFO.9 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
1*ddfc9c4cSWarner Losh.\"
2*ddfc9c4cSWarner Losh.\" Copyright (c) 2021 Netflix, Inc.
3*ddfc9c4cSWarner Losh.\"
4*ddfc9c4cSWarner Losh.\" Redistribution and use in source and binary forms, with or without
5*ddfc9c4cSWarner Losh.\" modification, are permitted provided that the following conditions
6*ddfc9c4cSWarner Losh.\" are met:
7*ddfc9c4cSWarner Losh.\" 1. Redistributions of source code must retain the above copyright
8*ddfc9c4cSWarner Losh.\"    notice, this list of conditions and the following disclaimer.
9*ddfc9c4cSWarner Losh.\" 2. Redistributions in binary form must reproduce the above copyright
10*ddfc9c4cSWarner Losh.\"    notice, this list of conditions and the following disclaimer in the
11*ddfc9c4cSWarner Losh.\"    documentation and/or other materials provided with the distribution.
12*ddfc9c4cSWarner Losh.\"
13*ddfc9c4cSWarner Losh.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
14*ddfc9c4cSWarner Losh.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15*ddfc9c4cSWarner Losh.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16*ddfc9c4cSWarner Losh.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
17*ddfc9c4cSWarner Losh.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18*ddfc9c4cSWarner Losh.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19*ddfc9c4cSWarner Losh.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20*ddfc9c4cSWarner Losh.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21*ddfc9c4cSWarner Losh.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22*ddfc9c4cSWarner Losh.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23*ddfc9c4cSWarner Losh.\"
24*ddfc9c4cSWarner Losh.Dd April 22, 2021
25*ddfc9c4cSWarner Losh.Dt BUS_CHILD_PNPINFO 9
26*ddfc9c4cSWarner Losh.Os
27*ddfc9c4cSWarner Losh.Sh NAME
28*ddfc9c4cSWarner Losh.Nm BUS_CHILD_PNPINFO
29*ddfc9c4cSWarner Losh.Nd "obtain the plug and play information from a device"
30*ddfc9c4cSWarner Losh.Sh SYNOPSIS
31*ddfc9c4cSWarner Losh.In sys/param.h
32*ddfc9c4cSWarner Losh.In sys/bus.h
33*ddfc9c4cSWarner Losh.In sys/sbuf.h
34*ddfc9c4cSWarner Losh.Ft void
35*ddfc9c4cSWarner Losh.Fn BUS_CHILD_PNPINFO "device_t dev" "device_t child" "struct sbuf *sb"
36*ddfc9c4cSWarner Losh.Sh DESCRIPTION
37*ddfc9c4cSWarner LoshThe
38*ddfc9c4cSWarner Losh.Fn BUS_CHILD_LOCATION
39*ddfc9c4cSWarner Loshmethod returns the identifying information about the
40*ddfc9c4cSWarner Losh.Dv child
41*ddfc9c4cSWarner Loshdevice.
42*ddfc9c4cSWarner LoshThis information is called the plug and play (pnp) details by some buses.
43*ddfc9c4cSWarner LoshThis information is a series of key=value pairs.
44*ddfc9c4cSWarner LoshThe string must be formatted as a space-separated list of key=value pairs.
45*ddfc9c4cSWarner LoshNames may only contain alphanumeric characters, underscores ('_') and hyphens ('-').
46*ddfc9c4cSWarner LoshValues can contain any non-whitespace characters.
47*ddfc9c4cSWarner LoshValues containing whitespace can be quoted with double quotes ('"').
48*ddfc9c4cSWarner LoshDouble quotes and backslashes in quoted values can be escaped with backslashes ('\').
49*ddfc9c4cSWarner Losh.Pp
50*ddfc9c4cSWarner LoshThe pnpinfo is defined as a series of characteristics of the
51*ddfc9c4cSWarner Losh.Dv child
52*ddfc9c4cSWarner Loshdevice that are independent of which drivers are attached, but
53*ddfc9c4cSWarner Loshare used to allow drivers to claim a device.
54*ddfc9c4cSWarner LoshTypically, plug and play information encodes who made the device, what the model
55*ddfc9c4cSWarner Loshnumber is, and some generic details about the device.
56*ddfc9c4cSWarner LoshBy convention, only the generic information about the device that's used by
57*ddfc9c4cSWarner Loshdrivers on that bus to decide on accepting the device is reported.
58*ddfc9c4cSWarner LoshOther configuration information (such as the cache burst size) needed for the
59*ddfc9c4cSWarner Loshoperation of the device, but that doesn't distinguish it broadly from other
60*ddfc9c4cSWarner Loshdevices is not reported.
61*ddfc9c4cSWarner Losh.Sh SEE ALSO
62*ddfc9c4cSWarner Losh.Xr bus 9 ,
63*ddfc9c4cSWarner Losh.Xr device 9
64