On Mon, 2015-12-21 at 14:51 +0800, Daniel Kurtz wrote: > On Fri, Dec 18, 2015 at 11:06 PM, Yingjoe Chen > <yingjoe.chen@xxxxxxxxxxxx> wrote: > > On Fri, 2015-12-18 at 12:21 +0800, Daniel Kurtz wrote: > >> Move pinctrl initialization earlier in boot so that real devices can find > >> their pctldev without probe deferring. > >> > >> Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> > >> --- > >> drivers/pinctrl/mediatek/pinctrl-mt6397.c | 2 +- > >> drivers/pinctrl/mediatek/pinctrl-mt8127.c | 2 +- > >> drivers/pinctrl/mediatek/pinctrl-mt8135.c | 2 +- > >> drivers/pinctrl/mediatek/pinctrl-mt8173.c | 2 +- > >> 4 files changed, 4 insertions(+), 4 deletions(-) > >> > >> diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6397.c b/drivers/pinctrl/mediatek/pinctrl-mt6397.c > >> index f9751ae..a3780d4 100644 > >> --- a/drivers/pinctrl/mediatek/pinctrl-mt6397.c > >> +++ b/drivers/pinctrl/mediatek/pinctrl-mt6397.c > >> @@ -70,7 +70,7 @@ static int __init mtk_pinctrl_init(void) > >> return platform_driver_register(&mtk_pinctrl_driver); > >> } > >> > >> -module_init(mtk_pinctrl_init); > >> +arch_initcall(mtk_pinctrl_init); > > > > > > MT6397 is PMIC, which depends on pwrap on main AP to work. Since > > pmic-wrap itself is module_platform_driver, I think it make sense to > > keep this one as module_init. Maybe adding a comment to explain why it > > is different from others will help. > > I interpret this the other way - I think that since the PMIC wrapper > provides a bus required for the system PMIC it should also be a > builtin and use arch_initcall. We'll have to change mt8173 PMIC wrapper and mt6397 MFD core to arch_initcall if we want to do it. I think regulators on PMIC is more important than pinctrl. For all mt8173 systems, few drivers depends on PMIC pinctrl to work but many depends on the regulators. So if we adjust pinctrl to arch_initcall, we should change mt6397 regulator as well. Joe.C -- 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