I am porting PCI fabric device drivers from the 2.4 kernel to 2.6.
Although the driver finds the devices and calls exported pci core
functions to attach and enable them, entries are not being made in the
/proc/bus/pci/devices file.
The devices are accessed through a fabric bridge attached to a fabric
switchcard on another chassis. The driver allocated bridge numbers
arbitrarily starting at 80. Entries for accessing the device do get
created in /proc/bus/pci:
ls /proc/bus/pci
00 01 02 03 04 05 06 07 08 81 82 83 devices
/proc/bus/pci/81: 00.0 01.0 02.0 03.0
/proc/bus/pci/82: 00.0
/proc/bus/pci/83: 00.0 01.0
However, corresponding entries are not being created in
/sys/bus/pci/devices.
I might add, these drivers are production code that works on the 2.4
kernel. Minor modifications had to be made for 2.6, e.g. some functions
have been renamed and the read/write routines take a size parameter
instead of having separate functions for 8, 16 and 32 bit operations.
I have not been able to locate the core code that makes the entries in
the /proc/bus/pci/devices file or creates the device entries in
/sys/bus/pci/devices.
Has anyone encountered these problems?
John
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/