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 | - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Feb 23 2002 - 21:00:45 EST