On Thu, Jan 26, 2006 at 02:27:20PM -0800, John Klingler wrote: > 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. It's the core pci bus probing code that does this. Do you have a pointer to your driver so that we can take a look at it to see what you are doing? The pci core probing logic changed a _lot_ from 2.4 to 2.6. Take a look at the pci hotplug drivers for examples of what I think you are wanting to do. thanks, greg k-h -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/