1 What: /sys/bus/pci/drivers/.../bind
3 Contact: linux-pci@vger.kernel.org
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).
14 What: /sys/bus/pci/drivers/.../unbind
16 Contact: linux-pci@vger.kernel.org
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).
27 What: /sys/bus/pci/drivers/.../new_id
29 Contact: linux-pci@vger.kernel.org
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
44 What: /sys/bus/pci/drivers/.../remove_id
46 Contact: Chris Wright <chrisw@sous-sol.org>
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
60 What: /sys/bus/pci/rescan
62 Contact: Linux PCI developers <linux-pci@vger.kernel.org>
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.
69 What: /sys/bus/pci/devices/.../remove
71 Contact: Linux PCI developers <linux-pci@vger.kernel.org>
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.
77 What: /sys/bus/pci/devices/.../rescan
79 Contact: Linux PCI developers <linux-pci@vger.kernel.org>
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.
87 What: /sys/bus/pci/devices/.../reset
89 Contact: Michael S. Tsirkin <mst@redhat.com>
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
97 What: /sys/bus/pci/devices/.../vpd
99 Contact: Ben Hutchings <bhutchings@solarflare.com>
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.
109 What: /sys/bus/pci/devices/.../virtfnN
111 Contact: Yu Zhao <yu.zhao@intel.com>
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).
118 What: /sys/bus/pci/devices/.../dep_link
120 Contact: Yu Zhao <yu.zhao@intel.com>
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.
128 What: /sys/bus/pci/devices/.../physfn
130 Contact: Yu Zhao <yu.zhao@intel.com>
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.
137 What: /sys/bus/pci/slots/...
138 Date: April 2005 (possibly older)
139 KernelVersion: 2.6.12 (possibly older)
140 Contact: linux-pci@vger.kernel.org
142 When the appropriate driver is loaded, it will create a
143 directory per claimed physical PCI slot in
144 /sys/bus/pci/slots/. The names of these directories are
145 specific to the driver, which in turn, are specific to the
146 platform, but in general, should match the label on the
147 machine's physical chassis.
149 The drivers that can create slot directories include the
150 PCI hotplug drivers, and as of 2.6.27, the pci_slot driver.
152 The slot directories contain, at a minimum, a file named
153 'address' which contains the PCI bus:device:function tuple.
154 Other files may appear as well, but are specific to the
157 What: /sys/bus/pci/slots/.../function[0-7]
159 KernelVersion: 2.6.35
160 Contact: linux-pci@vger.kernel.org
162 If PCI slot directories (as described above) are created,
163 and the physical slot is actually populated with a device,
164 symbolic links in the slot directory pointing to the
165 device's PCI functions are created as well.
167 What: /sys/bus/pci/devices/.../slot
169 KernelVersion: 2.6.35
170 Contact: linux-pci@vger.kernel.org
172 If PCI slot directories (as described above) are created,
173 a symbolic link pointing to the slot directory will be
176 What: /sys/bus/pci/slots/.../module
178 Contact: linux-pci@vger.kernel.org
180 This symbolic link points to the PCI hotplug controller driver
181 module that manages the hotplug slot.