Re: PCI Device Driver: Porting to 2.6 kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux