[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110520065248.GB21285@ponder.secretlab.ca>
Date: Fri, 20 May 2011 00:52:48 -0600
From: Grant Likely <grant.likely@...retlab.ca>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: Barry Song <21cnbao@...il.com>,
Linus Walleij <linus.walleij@...ricsson.com>,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Lee Jones <lee.jones@...aro.org>,
Jonas Aaberg <jonas.aberg@...ricsson.com>
Subject: Re: [PATCH 02/10] mach-u300: rewrite gpio driver, move to
drivers/gpio
On Thu, May 19, 2011 at 02:25:47PM +0200, Linus Walleij wrote:
> On Thu, May 19, 2011 at 1:38 PM, Barry Song <21cnbao@...il.com> wrote:
>
> >> -arch_initcall(u300_gpio_init);
> >> -module_exit(u300_gpio_exit);
> >>
> > looks like the driver can't be a real module, is the module_exit
> > suitable? it looks strange module_exit plays together with
> > arch_initcall.
>
> It's a rather common design pattern in the kernel for early
> platform drivers. Either the dependencies are resolved by the
> different initlevels or they are resolved in probe order with
> loadable modules. Module load will call all initlevels in order.
>
> It is not elegant but it is common.
but it does need to be fixed. Unfortunately it is not simple. What
is needed is a generic deferral or ability for drivers to declare
dependences on other devices beyond their immediate parent.
I've thought about this a bit on and off over the last year, but I
haven't actually sat down to try and hack anything out yet.
g.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists