From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752525AbbLaNqQ (ORCPT ); Thu, 31 Dec 2015 08:46:16 -0500 Received: from mail-vk0-f52.google.com ([209.85.213.52]:36861 "EHLO mail-vk0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751544AbbLaNqM (ORCPT ); Thu, 31 Dec 2015 08:46:12 -0500 MIME-Version: 1.0 In-Reply-To: <20151230172212.GZ16023@sirena.org.uk> References: <1450792017-7120-1-git-send-email-djkurtz@chromium.org> <20151230172212.GZ16023@sirena.org.uk> From: Daniel Kurtz Date: Thu, 31 Dec 2015 21:45:51 +0800 X-Google-Sender-Auth: Y7TgHn5qoVakfMwf_SNG28sQjcg Message-ID: Subject: Re: [PATCH] pinctrl: mediatek: convert to arch_initcall To: Mark Brown Cc: Linus Walleij , Grant Likely , "linux-arm-kernel@lists.infradead.org" , Matthias Brugger , Yingjoe Chen , Hongzhou Yang , Fabio Estevam , Fabian Frederick , Maoguang Meng , Axel Lin , "open list:PIN CONTROL SUBSYSTEM" , open list , "moderated list:ARM/Mediatek SoC support" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Dec 31, 2015 at 1:22 AM, Mark Brown wrote: > > On Tue, Dec 22, 2015 at 04:11:47PM +0100, Linus Walleij wrote: > > On Tue, Dec 22, 2015 at 2:46 PM, Daniel Kurtz wrote: > > > > Move pinctrl initialization earlier in boot so that real devices can find > > > their pctldev without probe deferring. > > (...) > > > -module_init(mtk_pinctrl_init); > > > +arch_initcall(mtk_pinctrl_init); > > > So I see why you're doing this (because of wanting to avoid nasty boot > > probe deferrals, right?) and I'm going to apply it, because the work > > with probe ordering is still in the works, but I'd like some general > > ARM people to come in with opinions. > > I really don't think we should be applying this sort of stuff unless > things are actively broken right now. It's a bit of a rabbit hole we > could spend a long time going down tweaking things for different > systems in the same way that tweaking the link order can be and it masks > the underlying issues. Things are actively broken right now, in the sense that there are many needless probe deferrals on boot. These are pinctrl drivers, which are required to load before every other driver that requests a gpio. AFAICT, the pinctrl is part of the platform "architecture", hence why I suggest we move this to arch_initcall(). arch_initcall() is also consistent with 39 other pinctrl drivers in drivers/pinctrl. 19 others use subsys_initcall(), core_initcall() or postcore_initcall(), any of which would also work. -Dan