Re: [PATCH] 2.5.5-pre1 IDE cleanup 9

Gérard Roudier
2002-02-22T20:15:34Z

On Fri, 22 Feb 2002, Jeff Garzik wrote:

> 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.

At the time I investigated the API it just mixed the probing and the
registering by performing some auto-registration based on return value.
May-be the API did evolve since that time or I missed something important.

For now I will be in vacation for 1 week. I will re-investigate this when
I will be back.

Thanks,
Gérard.