Re: [PATCH] fix pinctrl setup for i.IMX6
From: Tony Lindgren <tony@atomide.com>
Date: 2017-03-15 16:27:43
Also in:
lkml
* Gary Bisson [off-list ref] [170314 07:57]:
Hi Linus, On Tue, Mar 14, 2017 at 03:47:58PM +0100, Linus Walleij wrote:quoted
On Tue, Feb 28, 2017 at 7:00 AM, Mika Penttilä [off-list ref] wrote:quoted
Recent pulls for mainline pre 4.11 introduced pinctrl setup changes and moved pinctrl-imx to use generic helpers. Net effect was that hog group could not be resolved. I made it work for myself with a two stage setup with create and start separated, and dt probe in between them. Signed-off-by: Mika Penttilä <redacted>Sorry for including the whole mail body, some people may have missed the mail. Notably the i.MX maintainers. Your patch reminds me of the pinctrl_register() vs pinctrl_register_and_init() introduced by Tony Lindgren, can you look into this in commit 950b0d91dc108f54bccca5a2f75bb46f2df63d29 "pinctrl: core: Fix regression caused by delayed work for hogs"? Does switching pinctrl_register_and_init() back to pinctrl_register() solve your problem? Gary: have you seen any problem like this?Yes, Mika brought it up as soon as the first 4.11-rc appeared and indeed this issue can be reproduced on any i.MX6 platform. Then Tony offered a patch but you haven't replied to him yet: https://lkml.org/lkml/2017/2/28/140
I think as a regression fix for the -rc series, we should use Mika's patch with the following tweaks: 1. Instead of adding yet another devm_pinctrl_register_and_init(), let's just make devm_pinctrl_register_and_init() not call start automatically. If people prefer to use Mika's naming for it with nostart, I have no problem with that. But let's then rename the current devm_pinctrl_register_and_init() so we are not stuck with another interface with issues. 2. Update the four drivers using devm_pinctrl_register_and_init() to also call start separately. Mika, care to update your patch for that? Regards, Tony