Re: [PATCH 012/143] USB: move twl4030_usb's probe function to.devinit.text

From: Uwe Kleine-König
Date: Tue Jun 16 2009 - 05:14:54 EST


Hi Greg,

On Mon, Jun 15, 2009 at 11:20:35PM -0700, Greg KH wrote:
> On Tue, Jun 16, 2009 at 08:05:59AM +0200, Uwe Kleine-König wrote:
> > Hi Greg,
> >
> > On Mon, Jun 15, 2009 at 10:22:07PM -0700, Greg Kroah-Hartman wrote:
> > > A pointer to twl4030_usb_probe is passed to the core via
> > > platform_driver_register and so the function must not disappear when the
> > > .init sections are discarded. Otherwise (if also having HOTPLUG=y)
> > > unbinding and binding a device to the driver via sysfs will result in an
> > > oops as does a device being registered late.
> > >
> > > An alternative to this patch is using platform_driver_probe instead of
> > > platform_driver_register plus removing the pointer to the probe function
> > > from the struct platform_driver.
> > I wonder if this kind of error could be detected automatically. That is
> > at probe time check if the probe function is in the .init.text section.
>
> There's nothing wrong with calling probe functions in the .init.text
> section, _before_ we throw away the init.text section :)
Ah, my fault:

I wonder if this kind of error could be detected automatically. That is
at *register* time check if the probe function is in the .init.text
section.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
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/