Re: [PATCH] w90p910_ether: remove incorrect __init annotation
flat view
From: David Miller <davem@davemloft.net>
Date: 2018-12-14 22:43:12
Also in:
lkml, netdev
From: Arnd Bergmann <arnd@arndb.de> Date: Fri, 14 Dec 2018 23:22:10 +0100
On Fri, Dec 14, 2018 at 10:23 PM David Miller [off-list ref] wrote:quoted
From: Arnd Bergmann <arnd@arndb.de> Date: Mon, 10 Dec 2018 21:45:07 +0100quoted
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 <arnd@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.
Fair enough, let's go with your simpler fix for now. Applied. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel