[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAMH-yu3H3dNCC7yes6SmthUbqTERTsyPh3ynz=2COXstmKfkQ@mail.gmail.com>
Date: Mon, 3 Apr 2017 11:06:30 +0200
From: Gary Bisson <gary.bisson@...ndarydevices.com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Tony Lindgren <tony@...mide.com>,
Linus Walleij <linus.walleij@...aro.org>,
"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Fabio Estevam <festevam@...il.com>,
Haojian Zhuang <haojian.zhuang@...aro.org>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Mika Penttilä <mika.penttila@...tfour.com>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Nishanth Menon <nm@...com>, Shawn Guo <shawnguo@...nel.org>,
Stefan Agner <stefan@...er.ch>
Subject: Re: [PATCH] pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
Tony, All,
On Mon, Apr 3, 2017 at 10:46 AM, Geert Uytterhoeven
<geert@...ux-m68k.org> wrote:
>
> Hi Tony,
>
> On Thu, Mar 30, 2017 at 6:16 PM, Tony Lindgren <tony@...mide.com> 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@...il.com>
> > Cc: Gary Bisson <gary.bisson@...ndarydevices.com>
> > Cc: Geert Uytterhoeven <geert@...ux-m68k.org>
> > Cc: Haojian Zhuang <haojian.zhuang@...aro.org>
> > Cc: Masahiro Yamada <yamada.masahiro@...ionext.com>
> > Cc: Mika Penttilä <mika.penttila@...tfour.com>
> > Cc: Mika Westerberg <mika.westerberg@...ux.intel.com>
> > Cc: Nishanth Menon <nm@...com>
> > Cc: Shawn Guo <shawnguo@...nel.org>
> > Cc: Stefan Agner <stefan@...er.ch>
> > Signed-off-by: Tony Lindgren <tony@...mide.com>
>
> The display on r8a7740-armadillo800eva still works, so the GPIO hog
> needed for that is OK.
>
> Tested-by: Geert Uytterhoeven <geert+renesas@...der.be>
For imx, tested on a Nitrogen6x platform:
Before the patch:
# dmesg | grep iomux
[ 0.096672] imx6q-pinctrl 20e0000.iomuxc: unable to find group for
node hoggrp
[ 0.097215] imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
After the patch:
# dmesg | grep iomux
[ 0.097505] imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
Also, checking the pinctrl of the hog pins in sysfs proved to be correct.
Tested-by: Gary Bisson <gary.bisson@...ndarydevices.com>
Regards,
Gary
Powered by blists - more mailing lists