[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a3ZC_1C2pVYcLEe1y0=__YsapF+rZWKjLZ9hyUucyLT+A@mail.gmail.com>
Date: Fri, 14 Dec 2018 23:22:10 +0100
From: Arnd Bergmann <arnd@...db.de>
To: David Miller <davem@...emloft.net>
Cc: Wan ZongShun <mcuos.com@...il.com>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Networking <netdev@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] w90p910_ether: remove incorrect __init annotation
On Fri, Dec 14, 2018 at 10:23 PM David Miller <davem@...emloft.net> wrote:
>
> From: Arnd Bergmann <arnd@...db.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 <arnd@...db.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
Powered by blists - more mailing lists