summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorPeng Fan <[email protected]>2026-02-10 16:12:15 +0800
committerTom Rini <[email protected]>2026-02-26 09:04:46 -0600
commit6ee82240de63b085325b4f4ce4874240724f9dbe (patch)
tree9d4afdd36146388d6bc4d6908b6faf5a5541fc08 /drivers/power
parent3ee1408eeb7352d770bbf063df85fa23cd6b79a4 (diff)
power: domain: Validate device tree node in dev_power_domain_ctrl
Similar to pinctrl_select_state(), add dev_has_ofnode() check before doing the real work. Device(scmi_base.0) does not have a real device node, ofnode_null() is assigned as the device tree node for scmi base protocol device: 'commit 7eb4eb541c14 ("firmware: scmi: install base protocol to SCMI agent")' However with recent update in 'commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c")', SPL panic in fdt_check_node_offset_()->fdt_next_tag(), because offset is -1 and SPL_OF_LIBFDT_ASSUME_MASK is 0xFF. So need to validate device tree node. Reported-by: Ye Li <[email protected]> Closes: https://lore.kernel.org/u-boot/[email protected]/ Signed-off-by: Peng Fan <[email protected]>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/domain/power-domain-uclass.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/power/domain/power-domain-uclass.c b/drivers/power/domain/power-domain-uclass.c
index d9fa8ad4bd2..cea68945cbd 100644
--- a/drivers/power/domain/power-domain-uclass.c
+++ b/drivers/power/domain/power-domain-uclass.c
@@ -180,6 +180,9 @@ static int dev_power_domain_ctrl(struct udevice *dev, bool on)
struct power_domain pd;
int i, count, ret = 0;
+ if (!dev_has_ofnode(dev))
+ return 0;
+
count = dev_count_phandle_with_args(dev, "power-domains",
"#power-domain-cells", 0);
for (i = 0; i < count; i++) {