Re: [patch 2.6.19-rc6] platform_driver_probe(), can save codespace

Dmitry Torokhov
2006-11-17T19:11:22Z

> On Friday 17 November 2006 6:32 am, Dmitry Torokhov wrote:
> > On 11/17/06, David Brownell <david-b@pacbell.net> 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.)
>

Do we discard __init sections in modules nowadays? I thought we did
that only for the kernel image itself.

--
Dmitry