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

From: Dmitry Torokhov
Date: Fri Nov 17 2006 - 14:11:44 EST


On 11/17/06, David Brownell <david-b@xxxxxxxxxxx> wrote:
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.)


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

--
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/