Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
[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/.../pci_bus/.../rescan
78 Date:           May 2011
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 bus and all child buses,
83                 and re-discover devices removed earlier from this
84                 part of the device tree.  Depends on CONFIG_HOTPLUG.
85
86 What:           /sys/bus/pci/devices/.../rescan
87 Date:           January 2009
88 Contact:        Linux PCI developers <linux-pci@vger.kernel.org>
89 Description:
90                 Writing a non-zero value to this attribute will
91                 force a rescan of the device's parent bus and all
92                 child buses, and re-discover devices removed earlier
93                 from this part of the device tree.
94                 Depends on CONFIG_HOTPLUG.
95
96 What:           /sys/bus/pci/devices/.../reset
97 Date:           July 2009
98 Contact:        Michael S. Tsirkin <mst@redhat.com>
99 Description:
100                 Some devices allow an individual function to be reset
101                 without affecting other functions in the same device.
102                 For devices that have this support, a file named reset
103                 will be present in sysfs.  Writing 1 to this file
104                 will perform reset.
105
106 What:           /sys/bus/pci/devices/.../vpd
107 Date:           February 2008
108 Contact:        Ben Hutchings <bhutchings@solarflare.com>
109 Description:
110                 A file named vpd in a device directory will be a
111                 binary file containing the Vital Product Data for the
112                 device.  It should follow the VPD format defined in
113                 PCI Specification 2.1 or 2.2, but users should consider
114                 that some devices may have malformatted data.  If the
115                 underlying VPD has a writable section then the
116                 corresponding section of this file will be writable.
117
118 What:           /sys/bus/pci/devices/.../virtfnN
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                 The symbolic link points to the PCI device sysfs entry of the
125                 Virtual Function whose index is N (0...MaxVFs-1).
126
127 What:           /sys/bus/pci/devices/.../dep_link
128 Date:           March 2009
129 Contact:        Yu Zhao <yu.zhao@intel.com>
130 Description:
131                 This symbolic link appears when hardware supports the SR-IOV
132                 capability and the Physical Function driver has enabled it,
133                 and this device has vendor specific dependencies with others.
134                 The symbolic link points to the PCI device sysfs entry of
135                 Physical Function this device depends on.
136
137 What:           /sys/bus/pci/devices/.../physfn
138 Date:           March 2009
139 Contact:        Yu Zhao <yu.zhao@intel.com>
140 Description:
141                 This symbolic link appears when a device is a Virtual Function.
142                 The symbolic link points to the PCI device sysfs entry of the
143                 Physical Function this device associates with.
144
145 What:           /sys/bus/pci/slots/.../module
146 Date:           June 2009
147 Contact:        linux-pci@vger.kernel.org
148 Description:
149                 This symbolic link points to the PCI hotplug controller driver
150                 module that manages the hotplug slot.
151
152 What:           /sys/bus/pci/devices/.../label
153 Date:           July 2010
154 Contact:        Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
155 Description:
156                 Reading this attribute will provide the firmware
157                 given name (SMBIOS type 41 string or ACPI _DSM string) of
158                 the PCI device. The attribute will be created only
159                 if the firmware has given a name to the PCI device.
160                 ACPI _DSM string name will be given priority if the
161                 system firmware provides SMBIOS type 41 string also.
162 Users:
163                 Userspace applications interested in knowing the
164                 firmware assigned name of the PCI device.
165
166 What:           /sys/bus/pci/devices/.../index
167 Date:           July 2010
168 Contact:        Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
169 Description:
170                 Reading this attribute will provide the firmware
171                 given instance (SMBIOS type 41 device type instance) of the
172                 PCI device. The attribute will be created only if the firmware
173                 has given an instance number to the PCI device.
174 Users:
175                 Userspace applications interested in knowing the
176                 firmware assigned device type instance of the PCI
177                 device that can help in understanding the firmware
178                 intended order of the PCI device.
179
180 What:           /sys/bus/pci/devices/.../acpi_index
181 Date:           July 2010
182 Contact:        Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
183 Description:
184                 Reading this attribute will provide the firmware
185                 given instance (ACPI _DSM instance number) of the PCI device.
186                 The attribute will be created only if the firmware has given
187                 an instance number to the PCI device. ACPI _DSM instance number
188                 will be given priority if the system firmware provides SMBIOS
189                 type 41 device type instance also.
190 Users:
191                 Userspace applications interested in knowing the
192                 firmware assigned instance number of the PCI
193                 device that can help in understanding the firmware
194                 intended order of the PCI device.