From: heyunlei <heyun...@huawei.com> On our arm platform, some modules (e.g. I2C bus driver) use the pinctrl-single driver to configure the SoC pin, but pinctrl-single driver uses module_init time, that makes some modules initialize ahead the pinctrl-single and fail to register.
This patch changes the initialization priority of pinctrl-single from module_init time to arch_initcall time. Signed-off-by: Yunlei He <heyun...@huawei.com> Signed-off-by: Xinwei Kong <kong.kongxin...@hisilicon.com> --- drivers/pinctrl/pinctrl-single.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index 95dd9cf..4b9e5b9 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -2012,7 +2012,18 @@ static struct platform_driver pcs_driver = { #endif }; -module_platform_driver(pcs_driver); +static int __init pinctrl_single_init(void) +{ + return platform_driver_register(&pcs_driver); +} + +static void __exit pinctrl_single_exit(void) +{ + platform_driver_unregister(&pcs_driver); +} + +arch_initcall(pinctrl_single_init); +module_exit(pinctrl_single_exit); MODULE_AUTHOR("Tony Lindgren <t...@atomide.com>"); MODULE_DESCRIPTION("One-register-per-pin type device tree based pinctrl driver"); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/