On Tue 2019-11-19 06:14:27, Greg Kroah-Hartman wrote:
From: Paul Cercueil paul@crapouillou.net
[ Upstream commit 556a36a71ed80e17ade49225b58513ea3c9e4558 ]
Using postcore_initcall() makes the driver try to initialize way too early.
Does it fix concrete bug / would you say it is suitable for -stable?
+++ b/drivers/pinctrl/pinctrl-ingenic.c @@ -847,4 +847,4 @@ static int __init ingenic_pinctrl_drv_register(void) { return platform_driver_register(&ingenic_pinctrl_driver); } -postcore_initcall(ingenic_pinctrl_drv_register); +subsys_initcall(ingenic_pinctrl_drv_register);
There are other pinctrl drivers initialized very early, do they need fixing, too?
Best regards, Pavel
pavel@amd:~/cip/k$ grep _initcall drivers/pinctrl/pinctrl-*.c drivers/pinctrl/pinctrl-artpec6.c:arch_initcall(artpec6_pmx_init); drivers/pinctrl/pinctrl-at91.c:arch_initcall(at91_pinctrl_init); drivers/pinctrl/pinctrl-coh901.c:arch_initcall(u300_gpio_init); drivers/pinctrl/pinctrl-falcon.c:core_initcall_sync(pinctrl_falcon_init); drivers/pinctrl/pinctrl-gemini.c:arch_initcall(gemini_pmx_init); drivers/pinctrl/pinctrl-ingenic.c:postcore_initcall(ingenic_pinctrl_drv_register); drivers/pinctrl/pinctrl-mcp23s08.c:subsys_initcall(mcp23s08_init); drivers/pinctrl/pinctrl-oxnas.c:arch_initcall(oxnas_gpio_register); drivers/pinctrl/pinctrl-oxnas.c:arch_initcall(oxnas_pinctrl_register); drivers/pinctrl/pinctrl-pic32.c:arch_initcall(pic32_gpio_register); drivers/pinctrl/pinctrl-pic32.c:arch_initcall(pic32_pinctrl_register); drivers/pinctrl/pinctrl-pistachio.c:arch_initcall(pistachio_pinctrl_register); drivers/pinctrl/pinctrl-rockchip.c:postcore_initcall(rockchip_pinctrl_drv_register); drivers/pinctrl/pinctrl-rza1.c:core_initcall(rza1_pinctrl_init); drivers/pinctrl/pinctrl-st.c:arch_initcall(st_pctl_init); drivers/pinctrl/pinctrl-sx150x.c:subsys_initcall(sx150x_init); drivers/pinctrl/pinctrl-u300.c:arch_initcall(u300_pmx_init); drivers/pinctrl/pinctrl-xway.c:core_initcall_sync(pinmux_xway_init); drivers/pinctrl/pinctrl-zynq.c:arch_initcall(zynq_pinctrl_init);