Re: kbuild: Section mismatch warnings

From: David Brownell
Date: Fri Feb 17 2006 - 19:46:35 EST


On Friday 17 February 2006 4:09 pm, Greg KH wrote:
> On Fri, Feb 17, 2006 at 11:47:02PM +0100, Sam Ravnborg wrote:

> > WARNING: drivers/usb/gadget/g_ether.o - Section mismatch: reference to .init.text from .data between 'eth_driver' (at offset 0x10) and 'stringtab'
> > WARNING: drivers/usb/gadget/g_file_storage.o - ... etc ...
>
> David, these all look like they are due to the calls in the
> drivers/usb/gadget/epautoconf.c file from functions within the gadget
> drivers. It looks like it's all safe, but can you verify that the bind
> callback is finished before module_init() exits?

If they just usb_gadget_register_driver(), that's how it's defined to
work yes. (Though a spec lawyer might want more explicit language ...)


> And if so, we should mark the bind functions __init also, to prevent
> this from being flagged in the future.

And the unbind functions __exit/__exit_p()? Smaller runtime footprints
are good. I don't like leaving the driver->init() method invalid, which
is I think why I didn't do that before, but saving space is the right
thing to do.


> > WARNING: drivers/usb/host/isp116x-hcd.o - Section mismatch: reference to .init.text from .data between '' (at offset 0x0) and 'isp116x_hc_driver'
>
> This looks like the isp116x_remove function just needs to get the looney
> __init_or_module marking of of it. Again, David, do you agree?

Right; that marking is for infrastructure, not drivers.

- Dave
-
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/