On Thu, Sep 8, 2016 at 3:48 AM, Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> wrote: > In general situation on-SoC GPIO controller drivers should be probed > after pinctrl/pinmux controller driver, because on-SoC GPIOs utilize a > pin/pad as a resource provided and controlled by pinctrl subsystem. > > This is stated in multiple places, e.g. from drivers/Makefile: > > GPIO must come after pinctrl as gpios may need to mux pins etc > > Looking at Freescale iMX SoC series specifics, imx*_pinctrl_init() > functions are called at arch_initcall and postcore_initcall init > levels, so the change of initcall level for gpio-mxc driver from > postcore_initcall to subsys_initcall level is sufficient. Also note > that the most of GPIO controller drivers settled at subsys_initcall > level. > > If pinctrl subsystem manages pads with GPIO functions, the change is > needed to avoid unwanted driver probe deferrals during kernel boot. > > Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> > --- > Changes from v1 to v2: > * replaced by a change with better commit description and which > moves gpio_mxc_init() call to subsys_initcall() instead of > apparently too late device_initcall(), this mitigates Shawn's > expressed concern about the change. Patch applied with Shawn's ACK. Yours, Linus Walleij -- 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