On Fri, Dec 14, 2018 at 10:23 PM David Miller <da...@davemloft.net> wrote: > > From: Arnd Bergmann <a...@arndb.de> > Date: Mon, 10 Dec 2018 21:45:07 +0100 > > > The get_mac_address() function is normally inline, but when it is > > not, we get a warning that this configuration is broken: > > > > WARNING: vmlinux.o(.text+0x4aff00): Section mismatch in reference from the > > function w90p910_ether_setup() to the function .init.text:get_mac_address() > > The function w90p910_ether_setup() references > > the function __init get_mac_address(). > > This is often because w90p910_ether_setup lacks a __init > > > > Remove the __init to make it always do the right thing. > > > > Signed-off-by: Arnd Bergmann <a...@arndb.de> > > Actually I think we can validly mark w90p910_ether_setup() and > w90p910_probe() with appropriate init tagging. None of these > functions are invoked outside of the probing paths.
But then we have to change the driver to use module_platform_driver_probe(), to ensure we cannot unbind/rebind the device. I usually don't like doing that, unless the device can never be stopped after it has been initialized. Arnd Arnd