U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] power: regulator: scmi: Move regulator subnode hack to scmi_regulator
@ 2025-03-22  1:44 Marek Vasut
  2025-04-03 10:56 ` 回复: [EXT] " Alice Guo (OSS)
  2025-04-23 16:05 ` Peng Fan (OSS)
  0 siblings, 2 replies; 7+ messages in thread
From: Marek Vasut @ 2025-03-22  1:44 UTC (permalink / raw)
  To: u-boot; +Cc: Marek Vasut, Alice Guo, Ilias Apalodimas, Jaehoon Chung, Tom Rini

The current code attempts to bind scmi_voltage_domain to regulator subnode
of the SCMI protocol node, so scmi_voltage_domain can then bind regulators
directly to subnodes of its node. This kind of behavior should not be in
core code, move it into scmi_voltage_domain driver code. Let the driver
descend into regulator node and bind regulators to its subnodes.

Fixes: 1f213ee4dbf2 ("firmware: scmi: voltage regulator")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alice Guo <alice.guo@nxp.com>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: u-boot@lists.denx.de
---
 drivers/firmware/scmi/scmi_agent-uclass.c | 8 +-------
 drivers/power/regulator/scmi_regulator.c  | 6 ++++++
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/firmware/scmi/scmi_agent-uclass.c b/drivers/firmware/scmi/scmi_agent-uclass.c
index 8c907c3b032..e6e43ae936a 100644
--- a/drivers/firmware/scmi/scmi_agent-uclass.c
+++ b/drivers/firmware/scmi/scmi_agent-uclass.c
@@ -427,14 +427,8 @@ static int scmi_bind_protocols(struct udevice *dev)
 			break;
 		case SCMI_PROTOCOL_ID_VOLTAGE_DOMAIN:
 			if (IS_ENABLED(CONFIG_DM_REGULATOR_SCMI) &&
-			    scmi_protocol_is_supported(dev, protocol_id)) {
-				node = ofnode_find_subnode(node, "regulators");
-				if (!ofnode_valid(node)) {
-					dev_err(dev, "no regulators node\n");
-					return -ENXIO;
-				}
+			    scmi_protocol_is_supported(dev, protocol_id))
 				drv = DM_DRIVER_GET(scmi_voltage_domain);
-			}
 			break;
 		default:
 			break;
diff --git a/drivers/power/regulator/scmi_regulator.c b/drivers/power/regulator/scmi_regulator.c
index 99f6506f162..2550b27246f 100644
--- a/drivers/power/regulator/scmi_regulator.c
+++ b/drivers/power/regulator/scmi_regulator.c
@@ -178,6 +178,12 @@ static int scmi_regulator_bind(struct udevice *dev)
 	ofnode node;
 	int ret;
 
+	node = ofnode_find_subnode(node, "regulators");
+	if (!ofnode_valid(node)) {
+		dev_err(dev, "no regulators node\n");
+		return -ENXIO;
+	}
+
 	drv = DM_DRIVER_GET(scmi_regulator);
 
 	ofnode_for_each_subnode(node, dev_ofnode(dev)) {
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-04-23 14:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-22  1:44 [PATCH] power: regulator: scmi: Move regulator subnode hack to scmi_regulator Marek Vasut
2025-04-03 10:56 ` 回复: [EXT] " Alice Guo (OSS)
2025-04-08 18:30   ` Marek Vasut
2025-04-09  6:42     ` 回复: " Alice Guo (OSS)
2025-04-18  2:52       ` Peng Fan
2025-04-23  3:18         ` Peng Fan
2025-04-23 16:05 ` Peng Fan (OSS)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox