On Mon, Nov 18, 2013 at 3:00 PM, Laurent Pinchart
<laurent.pinch...@ideasonboard.com> wrote:

> I'm not against moving the gpio-rcar initialization to postcore or subsys
> initcall, but in that case I believe we should standardize (or at least try
> to) this across the GPIO drivers. We currently have
>
> $ cat drivers/gpio/gpio-*.c | grep _initcall | grep '^[a-z]' | sed 's/(.*//' |
> sort | uniq -c
>       2 arch_initcall
>       1 core_initcall
>       1 device_initcall
>       1 late_initcall
>      11 postcore_initcall
>       2 pure_initcall
>      31 subsys_initcall
>
> $ cat drivers/gpio/gpio-*.c | grep 'module_.*_driver' | sed 's/(.*//' | sort |
> uniq -c
>       3 module_i2c_driver
>       4 module_pci_driver
>      23 module_platform_driver
>       1 module_spi_driver
>
> Linus, do you have any guidelines on this ?

The general guideline, as everybody should be aware ;-) is that we
should always use module_init(), i.e. device_initcall() and let deferred
probe handle any dependencies.

The only exception would be things like timers and interrupt
controllers...

Usually not relying on deferred probe is a sign of bugs in the
deferral probe path.

I know "my" drivers have this problem too, I would prefer that we
try to fix the root issue instead of trying to shovel initcalls around.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to