Linux 2.6.31-rc6
[linux-2.6] / 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/.../vpd
88 Date:           February 2008
89 Contact:        Ben Hutchings <bhutchings@solarflare.com>
90 Description:
91                 A file named vpd in a device directory will be a
92                 binary file containing the Vital Product Data for the
93                 device.  It should follow the VPD format defined in
94                 PCI Specification 2.1 or 2.2, but users should consider
95                 that some devices may have malformatted data.  If the
96                 underlying VPD has a writable section then the
97                 corresponding section of this file will be writable.
98
99 What:           /sys/bus/pci/devices/.../virtfnN
100 Date:           March 2009
101 Contact:        Yu Zhao <yu.zhao@intel.com>
102 Description:
103                 This symbolic link appears when hardware supports the SR-IOV
104                 capability and the Physical Function driver has enabled it.
105                 The symbolic link points to the PCI device sysfs entry of the
106                 Virtual Function whose index is N (0...MaxVFs-1).
107
108 What:           /sys/bus/pci/devices/.../dep_link
109 Date:           March 2009
110 Contact:        Yu Zhao <yu.zhao@intel.com>
111 Description:
112                 This symbolic link appears when hardware supports the SR-IOV
113                 capability and the Physical Function driver has enabled it,
114                 and this device has vendor specific dependencies with others.
115                 The symbolic link points to the PCI device sysfs entry of
116                 Physical Function this device depends on.
117
118 What:           /sys/bus/pci/devices/.../physfn
119 Date:           March 2009
120 Contact:        Yu Zhao <yu.zhao@intel.com>
121 Description:
122                 This symbolic link appears when a device is a Virtual Function.
123                 The symbolic link points to the PCI device sysfs entry of the
124                 Physical Function this device associates with.
125
126 What:           /sys/bus/pci/slots/.../module
127 Date:           June 2009
128 Contact:        linux-pci@vger.kernel.org
129 Description:
130                 This symbolic link points to the PCI hotplug controller driver
131                 module that manages the hotplug slot.