diff mbox

[3.13.y-ckt,stable] Patch "pinctrl: sh-pfc: only use dummy states for non-DT platforms" has been added to the 3.13.y-ckt tree

Message ID 1460498637-8235-1-git-send-email-kamal@canonical.com
State New
Headers show

Commit Message

Kamal Mostafa April 12, 2016, 10:03 p.m. UTC
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")
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>
---
 drivers/pinctrl/sh-pfc/core.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--
2.7.4

Comments

Sergei Shtylyov April 12, 2016, 10:28 p.m. UTC | #1
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
Kamal Mostafa April 12, 2016, 10:50 p.m. UTC | #2
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 mbox

Patch

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)