Joshua, On Tue, 12 May 2015 22:29:54 +0000, Joshua Scott wrote: > The driver I'm using that requires access to the GPIO pins is one that > I've been working on. It doesn't do much, just drives a single reset > line to take other hardware out of reset. > > The hardware that gets taken out of reset includes a few i2c GPIO > expanders. The GPIO expanders use the gpio-pca953x.c driver, which uses > subsys_initcall. > > One of the things that we found strange: With the code the way it > currently is, we have access to external GPIO expanders before we were > able to access the CPUs own built-in GPIO pins. To be honest, it is not very clear (at least to me) what is the policy of the GPIO subsystem in terms of initialization order. Why is this gpio-pca953x.c driver using subsys_initcall() instead of the regular module_i2c_driver() call, which is for example used by gpio-adnp.c or gpio-adp5588.c. Linus, do you have any comments/suggestions about this? Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html