Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux...
[pandora-kernel.git] / Documentation / ABI / testing / sysfs-bus-pci
1 What:           /sys/bus/pci/drivers/.../bind
2 Date:           December 2003
3 Contact:        linux-pci@vger.kernel.org
4 Description:
5                 Writing a device location to this file will cause
6                 the driver to attempt to bind to the device found at
7                 this location.  This is useful for overriding default
8                 bindings.  The format for the location is: DDDD:BB:DD.F.
9                 That is Domain:Bus:Device.Function and is the same as
10                 found in /sys/bus/pci/devices/.  For example:
11                 # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind
12                 (Note: kernels before 2.6.28 may require echo -n).
13
14 What:           /sys/bus/pci/drivers/.../unbind
15 Date:           December 2003
16 Contact:        linux-pci@vger.kernel.org
17 Description:
18                 Writing a device location to this file will cause the
19                 driver to attempt to unbind from the device found at
20                 this location.  This may be useful when overriding default
21                 bindings.  The format for the location is: DDDD:BB:DD.F.
22                 That is Domain:Bus:Device.Function and is the same as
23                 found in /sys/bus/pci/devices/. For example:
24                 # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind
25                 (Note: kernels before 2.6.28 may require echo -n).
26
27 What:           /sys/bus/pci/drivers/.../new_id
28 Date:           December 2003
29 Contact:        linux-pci@vger.kernel.org
30 Description:
31                 Writing a device ID to this file will attempt to
32                 dynamically add a new device ID to a PCI device driver.
33                 This may allow the driver to support more hardware than
34                 was included in the driver's static device ID support
35                 table at compile time.  The format for the device ID is:
36                 VVVV DDDD SVVV SDDD CCCC MMMM PPPP.  That is Vendor ID,
37                 Device ID, Subsystem Vendor ID, Subsystem Device ID,
38                 Class, Class Mask, and Private Driver Data.  The Vendor ID
39                 and Device ID fields are required, the rest are optional.
40                 Upon successfully adding an ID, the driver will probe
41                 for the device and attempt to bind to it.  For example:
42                 # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id
43
44 What:           /sys/bus/pci/drivers/.../remove_id
45 Date:           February 2009
46 Contact:        Chris Wright <chrisw@sous-sol.org>
47 Description:
48                 Writing a device ID to this file will remove an ID
49                 that was dynamically added via the new_id sysfs entry.
50                 The format for the device ID is:
51                 VVVV DDDD SVVV SDDD CCCC MMMM.  That is Vendor ID, Device
52                 ID, Subsystem Vendor ID, Subsystem Device ID, Class,
53                 and Class Mask.  The Vendor ID and Device ID fields are
54                 required, the rest are optional.  After successfully
55                 removing an ID, the driver will no longer support the
56                 device.  This is useful to ensure auto probing won't
57                 match the driver to the device.  For example:
58                 # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id
59
60 What:           /sys/bus/pci/rescan
61 Date:           January 2009
62 Contact:        Linux PCI developers <linux-pci@vger.kernel.org>
63 Description:
64                 Writing a non-zero value to this attribute will
65                 force a rescan of all PCI buses in the system, and
66                 re-discover previously removed devices.
67                 Depends on CONFIG_HOTPLUG.
68
69 What:           /sys/bus/pci/devices/.../remove
70 Date:           January 2009
71 Contact:        Linux PCI developers <linux-pci@vger.kernel.org>
72 Description:
73                 Writing a non-zero value to this attribute will
74                 hot-remove the PCI device and any of its children.
75                 Depends on CONFIG_HOTPLUG.
76
77 What:           /sys/bus/pci/devices/.../rescan
78 Date:           January 2009
79 Contact:        Linux PCI developers <linux-pci@vger.kernel.org>
80 Description:
81                 Writing a non-zero value to this attribute will
82                 force a rescan of the device's parent bus and all
83                 child buses, and re-discover devices removed earlier
84                 from this part of the device tree.
85                 Depends on CONFIG_HOTPLUG.
86
87 What:           /sys/bus/pci/devices/.../reset
88 Date:           July 2009
89 Contact:        Michael S. Tsirkin <mst@redhat.com>
90 Description:
91                 Some devices allow an individual function to be reset
92                 without affecting other functions in the same device.
93                 For devices that have this support, a file named reset
94                 will be present in sysfs.  Writing 1 to this file
95                 will perform reset.
96
97 What:           /sys/bus/pci/devices/.../vpd
98 Date:           February 2008
99 Contact:        Ben Hutchings <bhutchings@solarflare.com>
100 Description:
101                 A file named vpd in a device directory will be a
102                 binary file containing the Vital Product Data for the
103                 device.  It should follow the VPD format defined in
104                 PCI Specification 2.1 or 2.2, but users should consider
105                 that some devices may have malformatted data.  If the
106                 underlying VPD has a writable section then the
107                 corresponding section of this file will be writable.
108
109 What:           /sys/bus/pci/devices/.../virtfnN
110 Date:           March 2009
111 Contact:        Yu Zhao <yu.zhao@intel.com>
112 Description:
113                 This symbolic link appears when hardware supports the SR-IOV
114                 capability and the Physical Function driver has enabled it.
115                 The symbolic link points to the PCI device sysfs entry of the
116                 Virtual Function whose index is N (0...MaxVFs-1).
117
118 What:           /sys/bus/pci/devices/.../dep_link
119 Date:           March 2009
120 Contact:        Yu Zhao <yu.zhao@intel.com>
121 Description:
122                 This symbolic link appears when hardware supports the SR-IOV
123                 capability and the Physical Function driver has enabled it,
124                 and this device has vendor specific dependencies with others.
125                 The symbolic link points to the PCI device sysfs entry of
126                 Physical Function this device depends on.
127
128 What:           /sys/bus/pci/devices/.../physfn
129 Date:           March 2009
130 Contact:        Yu Zhao <yu.zhao@intel.com>
131 Description:
132                 This symbolic link appears when a device is a Virtual Function.
133                 The symbolic link points to the PCI device sysfs entry of the
134                 Physical Function this device associates with.
135
136 What:           /sys/bus/pci/slots/.../module
137 Date:           June 2009
138 Contact:        linux-pci@vger.kernel.org
139 Description:
140                 This symbolic link points to the PCI hotplug controller driver
141                 module that manages the hotplug slot.
142
143 What:           /sys/bus/pci/devices/.../label
144 Date:           July 2010
145 Contact:        Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
146 Description:
147                 Reading this attribute will provide the firmware
148                 given name (SMBIOS type 41 string or ACPI _DSM string) of
149                 the PCI device. The attribute will be created only
150                 if the firmware has given a name to the PCI device.
151                 ACPI _DSM string name will be given priority if the
152                 system firmware provides SMBIOS type 41 string also.
153 Users:
154                 Userspace applications interested in knowing the
155                 firmware assigned name of the PCI device.
156
157 What:           /sys/bus/pci/devices/.../index
158 Date:           July 2010
159 Contact:        Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
160 Description:
161                 Reading this attribute will provide the firmware
162                 given instance (SMBIOS type 41 device type instance) of the
163                 PCI device. The attribute will be created only if the firmware
164                 has given an instance number to the PCI device.
165 Users:
166                 Userspace applications interested in knowing the
167                 firmware assigned device type instance of the PCI
168                 device that can help in understanding the firmware
169                 intended order of the PCI device.
170
171 What:           /sys/bus/pci/devices/.../acpi_index
172 Date:           July 2010
173 Contact:        Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
174 Description:
175                 Reading this attribute will provide the firmware
176                 given instance (ACPI _DSM instance number) of the PCI device.
177                 The attribute will be created only if the firmware has given
178                 an instance number to the PCI device. ACPI _DSM instance number
179                 will be given priority if the system firmware provides SMBIOS
180                 type 41 device type instance also.
181 Users:
182                 Userspace applications interested in knowing the
183                 firmware assigned instance number of the PCI
184                 device that can help in understanding the firmware
185                 intended order of the PCI device.