On 4/22/06, Stefan Reinauer <[EMAIL PROTECTED]> wrote: > * yhlu <[EMAIL PROTECTED]> [060422 06:37]: > > we already have > > pci_locate_device(). > > pci_locate_device_on_bus(...unsigned bus). > > Cool! I guess most of us just did not know about that. > > static device_t pci_locate_device_on_bus(unsigned pci_id, unsigned bus) > > is defined in romcc_io.h and does exactly what is needed in this case. > Firewire on the Epia is always on bus 0.
Ok so the "right" solution for the epia-m is to change pci_locate_device() to pci_locate_device_on_bus(0); Eric: Please confirm that it fixes your problem. That still leaves the outstanding issue that pci_locate_device() will pause for long periods if it can't find a device. And probing the entire pci space may not be a good thing anyway. I would propose that pci_locate_device still needs a hard cap. Whats the maximum number of PCI buses that any one has ever seen on one board? -- Richard A. Smith -- linuxbios mailing list [email protected] http://www.openbios.org/mailman/listinfo/linuxbios
