Skip to contentSkip to conversation

FAILED: patch "[PATCH] regulator: workaround self-referent regulators" failed to apply to 4.9-stable tree

PATCH [email protected] 2 participants 3 messages Nov 23, 2020 – Dec 1, 2020

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From f5c042b23f7429e5c2ac987b01a31c69059a978b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <[email protected]>
Date: Fri, 13 Nov 2020 01:20:28 +0100
Subject: [PATCH] regulator: workaround self-referent regulators
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Workaround regulators whose supply name happens to be the same as its own name. This fixes boards that used to work before the early supply resolving was removed. The error message is left in place so that offending drivers can be detected.

drivers/regulator/core.c +4 -1
index d3b96efa20fd..42bbd99a36ac 100644
@@ -1844,7 +1844,10 @@ static int regulator_resolve_supply(struct regulator_dev *rdev)
 	if (r == rdev) {
 		dev_err(dev, "Supply for %s (%s) resolved to itself\n",
 			rdev->desc->name, rdev->supply_name);
-		return -EINVAL;
+		if (!have_full_constraints())
+			return -EINVAL;
+		r = dummy_regulator_rdev;
+		get_device(&r->dev);
 	}
 
 	/*
Tested-by Ahmad Fatoum
#1 lore raw

Hi Greg,

Quoted 5 lines · On Mon, Nov 23, 2020 at 10:20:17AM +0100, [email protected] wrote:

The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Here is the backport. It needs to be applied after the backport of 4b639e254d3d ("regulator: avoid resolve_supply() infinite recursion") which is in the separate 'failed' mail.

--
Regards
Sudip

From abc4b7b56078b9b796305d3f3707ebcdf136d106 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <[email protected]>
Date: Fri, 13 Nov 2020 01:20:28 +0100
Subject: [PATCH] regulator: workaround self-referent regulators
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

commit f5c042b23f7429e5c2ac987b01a31c69059a978b upstream

Workaround regulators whose supply name happens to be the same as its own name. This fixes boards that used to work before the early supply resolving was removed. The error message is left in place so that offending drivers can be detected.

---
 drivers/regulator/core.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/regulator/core.c +4 -1
index 89f14e301b4c..23323add5b0b 100644
@@ -1553,7 +1553,10 @@ static int regulator_resolve_supply(struct regulator_dev *rdev)
 	if (r == rdev) {
 		dev_err(dev, "Supply for %s (%s) resolved to itself\n",
 			rdev->desc->name, rdev->supply_name);
-		return -EINVAL;
+		if (!have_full_constraints())
+			return -EINVAL;
+		r = dummy_regulator_rdev;
+		get_device(&r->dev);
 	}
 
 	/* Recursively resolve the supply of the supply */
Signature · 1 line
2.11.0
author maintainer
#2 lore raw
Quoted 4 lines · Sudip Mukherjee

Hi Greg,

Quoted 1 line · On Mon, Nov 23, 2020 at 10:20:17AM +0100, [email protected] wrote:
Quoted 8 lines
Quoted 4 lines

The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Here is the backport. It needs to be applied after the backport of 4b639e254d3d ("regulator: avoid resolve_supply() infinite recursion") which is in the separate 'failed' mail.

Both now queued up, thanks!