Re: [PATCH] PCI fixes for 2.6.10-rc1

Jan Dittmer
2004-11-13T10:58:29Z

Russell King wrote:
> On Sat, Nov 13, 2004 at 11:45:00AM +0100, Jan Dittmer wrote:
>
>>>This sounds very wrong. Why did it get removed from bus->devices ?
>>>
>>>If it isn't on bus->devices, how does pci_bus_add_device() help?
>>>Sure you get it onto the global list and into the device tree,
>>>but it won't be attached to the parent bus properly.
>>>
>>>I think what you want to be using is:
>>>
>>>int __devinit pci_scan_slot(struct pci_bus *bus, int devfn)
>>>
>>>to discover the new device, which will do the right thing from the
>>>point of setting stuff up before calling pci_bus_add_device*().
>>>
>>
>>I don't see how pci_scan_slot helps me here. I already call
>>pci_scan_single_device which seems just about the same.
>
>
> Which is also acceptable. The device will be on the bus->devices list.
> I still don't see why you can't use pci_bus_add_devices() though, or
> why you think you need to remove it from the bus->devices list.
>

It's needed for fakephp, where the device gets removed from bus->devices
if you disable the slot. pci_scan_single_device then re-adds the
device to the list when enabling the slot again.

Jan