Re: [PATCH] pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()

From: Linus Walleij
Date: Thu Apr 06 2017 - 19:10:41 EST


On Thu, Mar 30, 2017 at 6:16 PM, Tony Lindgren <tony@xxxxxxxxxxx> wrote:

> Recent pinctrl changes to allow dynamic allocation of pins exposed one
> more issue with the pinctrl pins claimed early by the controller itself.
> This caused a regression for IMX6 pinctrl hogs.
>
> Before enabling the pin controller driver we need to wait until it has
> been properly initialized, then claim the hogs, and only then enable it.
>
> To fix the regression, split the code into pinctrl_claim_hogs() and
> pinctrl_enable(). And then let's require that pinctrl_enable() is always
> called by the pin controller driver when ready after calling
> pinctrl_register_and_init().
>
> Depends-on: 950b0d91dc10 ("pinctrl: core: Fix regression caused by delayed
> work for hogs")
> Fixes: df61b366af26 ("pinctrl: core: Use delayed work for hogs")
> Fixes: e566fc11ea76 ("pinctrl: imx: use generic pinctrl helpers for
> managing groups")
> Cc: Fabio Estevam <festevam@xxxxxxxxx>
> Cc: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx>
> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx>
> Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> Cc: Mika Penttilà <mika.penttila@xxxxxxxxxxxx>
> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> Cc: Nishanth Menon <nm@xxxxxx>
> Cc: Shawn Guo <shawnguo@xxxxxxxxxx>
> Cc: Stefan Agner <stefan@xxxxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>

Patch applied for fixes with the test tags,
sorry for slowness.

Yours,
Linus Walleij