[PATCH 1/2] tty: serial: remove __init on pl011 console ops
Linus Walleij
linus.walleij at linaro.org
Wed Feb 6 11:46:50 EST 2013
On Wed, Feb 6, 2013 at 5:38 PM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> However, I'm just wondering if this shows that we _do_ need to get rid
> of a pile of __init marked functions as well as fixing this, thanks to
> the deferred probing we now have (maybe the whole __init thing becomes
> useless with deferred probing?)
And all __initdata and __initconst as well.
> There's nothing really to guarantee
> that the pinctrl stuff will be available by the time the init sections
> are discarded (it could be in a loadable module?) or indeed any other
> resources that might be necessary.
I don't dare to guess how deferred probing is supposed to work
with loadable modules. When I start to think of it my mind
boggles. But I think maybe all drivers that support module loading
are tagging things wrong. Shouldn't they all be using
__init_or_module, __initdata_or_module, __initconst_or_module
so they only get discarded unless compiled as modules?
As far as I can tell from <linux/init.h> that is the intention.
Talk about can of worms :-(
> I think in this regard, deferred probing has opened a similar can of
> worms which hotplug devices created (which eventually ended up with
> killing the __dev* marking).
I'm afraid you're right.
Pinctrl core grabbing of pins seems to trigger the problem more
often on platforms that are using it.
Yours,
Linus Walleij
More information about the linux-arm-kernel
mailing list