Wee, got the PCI Hotplug core code and Compaq PCI Hotplug driver into the -ac kernel tree.
The PCI Hotplug core is one of the first drivers to be a filesystem. It uses a ram based file system to interace with userspace, instead of the ugly /proc or /dev nodes with ioctls and such. Just mount the pcihpfs file system where ever you want and you get a tree that looks something like:. |-- 2 | |-- adapter | |-- attention | |-- latch | |-- power | `-- test |-- 3 | |-- adapter | |-- attention | |-- latch | |-- power | `-- test |-- 4 | |-- adapter | |-- attention | |-- latch | |-- power | `-- test |-- 5 | |-- adapter | |-- attention | |-- latch | |-- power | `-- test `-- 6 |-- adapter |-- attention |-- latch |-- power `-- testThen just read the status of the different slots, and change the values by using 'echo' and 'bash'. So to turn on slot 6, you would do:echo 1 > ./6/power
The PCI Hotplug core also is the first chunk of kernel code that uses the EXPORT_SYMBOL_GPL() macro instead of the traditional EXPORT_SYMBOL() one. People at Intel are going to love that one :)