On Friday 17 November 2006 6:32 am, Dmitry Torokhov wrote:
> On 11/17/06, David Brownell <david-b@xxxxxxxxxxx> wrote:
> > +
> > + /* Fixup that section violation, being paranoid about code scanning
> > + * the list of drivers in order to probe new devices. Check to see
> > + * if the probe was successful, and make sure any forced probes of
> > + * new devices fail.
> > + */
> > + spin_lock(&platform_bus_type.klist_drivers.k_lock);
> > + drv->probe = NULL;
> > + if (code == 0 && list_empty(&drv->driver.klist_devices.k_list))
> > + retval = -ENODEV;
> > + drv->driver.probe = platform_drv_probe_fail;
> > + spin_unlock(&platform_bus_type.klist_drivers.k_lock);
>
> I think this code should not be executed if driver is compiled as a
> module because __init sections will stay anyway.
Huh?? No they won't. Are you thinking "__devinit" with CONFIG_HOTPLUG?
(Remember, this routine is not for use with hotpluggable devices.)