What: /sys/bus/pci/drivers/.../bind What: /sys/devices/pciX/.../bind Date: December 2003 Contact: linux-pci@vger.kernel.org Description: Writing a device location to this file will cause the driver to attempt to bind to the device found at this location. This is useful for overriding default bindings. The format for the location is: DDDD:BB:DD.F. That is Domain:Bus:Device.Function and is the same as found in /sys/bus/pci/devices/. For example::
What: /sys/bus/pci/drivers/.../new_id What: /sys/devices/pciX/.../new_id Date: December 2003 Contact: linux-pci@vger.kernel.org Description: Writing a device ID to this file will attempt to dynamically add a new device ID to a PCI device driver. This may allow the driver to support more hardware than was included in the driver's static device ID support table at compile time. The format for the device ID is: VVVV DDDD SVVV SDDD CCCC MMMM PPPP. That is Vendor ID, Device ID, Subsystem Vendor ID, Subsystem Device ID, Class, Class Mask, and Private Driver Data. The Vendor ID and Device ID fields are required, the rest are optional. Upon successfully adding an ID, the driver will probe for the device and attempt to bind to it. For example::
/** * bus_probe_device - probe drivers for a new device * @dev: device to probe * * - Automatically probe for a driver if the bus allows it. */ voidbus_probe_device(struct device *dev) { structbus_type *bus = dev->bus;
if (bus->p->drivers_autoprobe) device_initial_probe(dev);