Re: [PATCH] 2.5.5-pre1 IDE cleanup 9

Jeff Garzik
2002-02-22T19:56:43Z

Gérard Roudier wrote:
> Basically at the moment, if the driver allows upper 'seeming cleaner and
> smarter' PCI probing things to deal with the HBA attachment order, at
> least all my machines running Linux will not even reboot.
>
> Being smart is doing what user expects, here.

Oh come on, how hard is the following?

> static int __init foo_init(void)
> {
> int rc = pci_module_init(&sym2_pci_driver);
> if (rc) return rc;
> do_deferred_work();
> }
> module_init(foo_init);

You have tons of flexibility you are ignoring here... For the
non-hotplug hosts (ie. present at boot), just use pci_driver::probe to
register hosts on a list, and little other work. do_deferred_work()
handles the list in a manner that ensures proper boot and/or host
ordering.

So for non-hotplug hosts you do a init_module time:
register N hosts with PCI API
register N hosts with SCSI API

And hotplugged hosts would do the same, with N==1.

What you describe -is- supported with the PCI API.

Jeff

--
Jeff Garzik | "UNIX enhancements aren't."
Building 1024 | -- says /usr/games/fortune
MandrakeSoft |