Message ID | 1460498637-8235-1-git-send-email-kamal@canonical.com |
---|---|
State | New |
Headers | show |
Hello. On 04/13/2016 01:03 AM, Kamal Mostafa wrote: > This is a note to let you know that I have just added a patch titled > > pinctrl: sh-pfc: only use dummy states for non-DT platforms > > to the linux-3.13.y-queue branch of the 3.13.y-ckt extended stable tree > which can be found at: > > http://kernel.ubuntu.com/git/ubuntu/linux.git/log/?h=linux-3.13.y-queue > > This patch is scheduled to be released in version 3.13.11-ckt39. > > If you, or anyone else, feels it should not be added to this tree, please > reply to this email. > > For more information about the 3.13.y-ckt tree, see > https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable > > Thanks. > -Kamal > > ---8<------------------------------------------------------------ > > From effbcb235ac6fca3a1675bcff0bc657ed498279d Mon Sep 17 00:00:00 2001 > From: Wolfram Sang <wsa+renesas@sang-engineering.com> > Date: Mon, 7 Mar 2016 19:40:57 +0100 > Subject: pinctrl: sh-pfc: only use dummy states for non-DT platforms > > commit 0129801be4b87226bf502f18f5a9eabd356d1058 upstream. > > If pinctrl_provide_dummies() is used unconditionally, then the dummy > state will be used even on DT platforms when the "init" state was > intentionally left out. Instead of "default", the dummy "init" state > will then be used during probe. Thus, when probing an I2C controller on > cold boot, communication triggered by bus notifiers broke because the > pins were not initialized. > > Do it like OMAP2: use the dummy state only for non-DT platforms. > > Fixes: ef0eebc05130 ("drivers/pinctrl: Add the concept of an "init" state") I somewhat doubt this commit is in 3.13.y -- it's pretty recent, made last autumn. Have you checked this? > Reported-by: Geert Uytterhoeven <geert+renesas@glider.be> > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> > Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > Signed-off-by: Kamal Mostafa <kamal@canonical.com> [...] MBR, Sergei
On Wed, Apr 13, 2016 at 01:28:29AM +0300, Sergei Shtylyov wrote: > Hello. > > On 04/13/2016 01:03 AM, Kamal Mostafa wrote: > > >This is a note to let you know that I have just added a patch titled > > > > pinctrl: sh-pfc: only use dummy states for non-DT platforms > > > >to the linux-3.13.y-queue branch of the 3.13.y-ckt extended stable tree > >which can be found at: > > > > http://kernel.ubuntu.com/git/ubuntu/linux.git/log/?h=linux-3.13.y-queue > > > >This patch is scheduled to be released in version 3.13.11-ckt39. > > > >If you, or anyone else, feels it should not be added to this tree, please > >reply to this email. > > > >For more information about the 3.13.y-ckt tree, see > >https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable > > > >Thanks. > >-Kamal > > > >---8<------------------------------------------------------------ > > > > From effbcb235ac6fca3a1675bcff0bc657ed498279d Mon Sep 17 00:00:00 2001 > >From: Wolfram Sang <wsa+renesas@sang-engineering.com> > >Date: Mon, 7 Mar 2016 19:40:57 +0100 > >Subject: pinctrl: sh-pfc: only use dummy states for non-DT platforms > > > >commit 0129801be4b87226bf502f18f5a9eabd356d1058 upstream. > > > >If pinctrl_provide_dummies() is used unconditionally, then the dummy > >state will be used even on DT platforms when the "init" state was > >intentionally left out. Instead of "default", the dummy "init" state > >will then be used during probe. Thus, when probing an I2C controller on > >cold boot, communication triggered by bus notifiers broke because the > >pins were not initialized. > > > >Do it like OMAP2: use the dummy state only for non-DT platforms. > > > >Fixes: ef0eebc05130 ("drivers/pinctrl: Add the concept of an "init" state") > > I somewhat doubt this commit is in 3.13.y -- it's pretty recent, made > last autumn. Have you checked this? You're right Sergei -- I'll drop this patch from the {3.13,3.19,4.2}.y queues. Thanks! -Kamal > > >Reported-by: Geert Uytterhoeven <geert+renesas@glider.be> > >Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> > >Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > >Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> > >Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > >Signed-off-by: Kamal Mostafa <kamal@canonical.com> > [...] > > MBR, Sergei >
diff --git a/drivers/pinctrl/sh-pfc/core.c b/drivers/pinctrl/sh-pfc/core.c index d77ece5..7dfea8a 100644 --- a/drivers/pinctrl/sh-pfc/core.c +++ b/drivers/pinctrl/sh-pfc/core.c @@ -493,7 +493,9 @@ static int sh_pfc_probe(struct platform_device *pdev) return ret; } - pinctrl_provide_dummies(); + /* Enable dummy states for those platforms without pinctrl support */ + if (!of_have_populated_dt()) + pinctrl_provide_dummies(); ret = sh_pfc_init_ranges(pfc); if (ret < 0)