Re: [PATCH 02/10] mach-u300: rewrite gpio driver, move todrivers/gpio

From: Grant Likely
Date: Fri May 20 2011 - 02:52:55 EST


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@xxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/