Skip to contentSkip to conversation

Patch "pinctrl: sh-pfc: only use dummy states for non-DT platforms" has been added to the 4.5-stable tree

PATCH [email protected] 1 participant 1 message Apr 17, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

pinctrl: sh-pfc: only use dummy states for non-DT platforms

to the 4.5-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
pinctrl-sh-pfc-only-use-dummy-states-for-non-dt-platforms.patch
and it can be found in the queue-4.5 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 0129801be4b87226bf502f18f5a9eabd356d1058 Mon Sep 17 00:00:00 2001

From: Wolfram Sang <[email protected]>
Date: Mon, 7 Mar 2016 19:40:57 +0100
Subject: pinctrl: sh-pfc: only use dummy states for non-DT platforms

From: Wolfram Sang <[email protected]>

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")
---
 drivers/pinctrl/sh-pfc/core.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/pinctrl/sh-pfc/core.c +3 -1
@@ -545,7 +545,9 @@ static int sh_pfc_probe(struct platform_
 			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)

Patches currently in stable-queue which might be from [email protected] are

queue-4.5/sh_eth-fix-null-pointer-dereference-in-sh_eth_ring_format.patch queue-4.5/pinctrl-sh-pfc-only-use-dummy-states-for-non-dt-platforms.patch