• Vladimir Zapolskiy's avatar
    gpio: mxc: shift gpio_mxc_init() to subsys_initcall level · e188cbf7
    Vladimir Zapolskiy authored
    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: default avatarVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
    Acked-by: default avatarShawn Guo <shawnguo@kernel.org>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    e188cbf7
gpio-mxc.c 13.3 KB