Skip to contentSkip to conversation

Patch "mfd: twl6040: Fix deferred probe handling for clk32k" has been added to the 4.1-stable tree

PATCH [email protected] 1 participant 1 message Dec 7, 2015

Subsystems (3)
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

mfd: twl6040: Fix deferred probe handling for clk32k

to the 4.1-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:
mfd-twl6040-fix-deferred-probe-handling-for-clk32k.patch
and it can be found in the queue-4.1 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 75c08f17ec87c2d742487bb87408d6feebc526bd Mon Sep 17 00:00:00 2001

From: Tony Lindgren <[email protected]>
Date: Fri, 18 Sep 2015 09:29:04 -0700
Subject: mfd: twl6040: Fix deferred probe handling for clk32k

From: Tony Lindgren <[email protected]>

commit 75c08f17ec87c2d742487bb87408d6feebc526bd upstream.

Commit 68bab8662f49 ("mfd: twl6040: Optional clk32k clock handling") added clock handling for the 32k clock from palmas-clk. However, that patch did not consider a typical situation where twl6040 is built-in, and palmas-clk is a loadable module like we have in omap2plus_defconfig.

If palmas-clk is not loaded before twl6040 probes, we will get a "clk32k is not handled" warning during booting. This means that any drivers relying on this clock will mysteriously fail, including omap5-uevm WLAN and audio.

Note that for WLAN, we probably should also eventually get the clk32kgaudio for MMC3 directly as that's shared between audio and WLAN SDIO at least for omap5-uevm. It seems the WLAN chip cannot get it as otherwise MMC3 won't get properly probed.

Fixes 68bab8662f49 ("mfd: twl6040: Optional clk32k clock handling")
---
 drivers/mfd/twl6040.c |    2 ++
 1 file changed, 2 insertions(+)
drivers/mfd/twl6040.c +2 -0
@@ -647,6 +647,8 @@ static int twl6040_probe(struct i2c_clie
 
 	twl6040->clk32k = devm_clk_get(&client->dev, "clk32k");
 	if (IS_ERR(twl6040->clk32k)) {
+		if (PTR_ERR(twl6040->clk32k) == -EPROBE_DEFER)
+			return -EPROBE_DEFER;
 		dev_info(&client->dev, "clk32k is not handled\n");
 		twl6040->clk32k = NULL;
 	}

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

queue-4.1/arm-dts-fix-wlan-regression-on-omap5-uevm.patch queue-4.1/mfd-twl6040-fix-deferred-probe-handling-for-clk32k.patch