[PATCH v8 3/4] mach-snapdragon: Remove RPMH power domain DT fixup code
Aswin Murugan
aswin.murugan at oss.qualcomm.com
Fri Feb 13 12:10:08 CET 2026
Remove the device tree fixup code that was stripping power-domains
properties from device tree nodes. This fixup was a temporary
workaround needed when RPMH power domain driver support was not
available in U-Boot.
Now that RPMH power domain driver support has been added, the power
domain properties can be preserved in the device tree, allowing proper
power domain management. If a suitable power domain driver is not found
for the power-controller node, it will be handled with a warning in
dev_power_domain_ctrl().
Reviewed-by: Varadarajan Narayanan <varadarajan.narayanan at oss.qualcomm.com>
Signed-off-by: Aswin Murugan <aswin.murugan at oss.qualcomm.com>
---
v8:
- Changed commit message
v7:
- No changes to this patch in v7
v6:
- No changes to this patch in v6
v5:
- No changes to this patch in v5
v4:
- Reverted the inclusion of qcom-rpmpd.h header in pervious versions.
v3:
- Removed OF_LIVE_SA8775P config, since there is no SA8775P specific fixups are done
v2:
- Removed the power domain fixups, since the power domains are handled in qcom-rpmhpd driver
---
arch/arm/mach-snapdragon/of_fixup.c | 31 -----------------------------
1 file changed, 31 deletions(-)
diff --git a/arch/arm/mach-snapdragon/of_fixup.c b/arch/arm/mach-snapdragon/of_fixup.c
index 5b6076ea8e5..286541c8edc 100644
--- a/arch/arm/mach-snapdragon/of_fixup.c
+++ b/arch/arm/mach-snapdragon/of_fixup.c
@@ -134,36 +134,6 @@ static void fixup_usb_nodes(struct device_node *root)
}
}
-/* Remove all references to the rpmhpd device */
-static void fixup_power_domains(struct device_node *root)
-{
- struct device_node *pd = NULL, *np = NULL;
- struct property *prop;
- const __be32 *val;
-
- /* All Qualcomm platforms name the rpm(h)pd "power-controller" */
- for_each_of_allnodes_from(root, pd) {
- if (pd->name && !strcmp("power-controller", pd->name))
- break;
- }
-
- /* Sanity check that this is indeed a power domain controller */
- if (!of_find_property(pd, "#power-domain-cells", NULL)) {
- log_err("Found power-controller but it doesn't have #power-domain-cells\n");
- return;
- }
-
- /* Remove all references to the power domain controller */
- for_each_of_allnodes_from(root, np) {
- if (!(prop = of_find_property(np, "power-domains", NULL)))
- continue;
-
- val = prop->value;
- if (val[0] == cpu_to_fdt32(pd->phandle))
- of_remove_property(np, prop);
- }
-}
-
#define time_call(func, ...) \
do { \
u64 start = timer_get_us(); \
@@ -176,7 +146,6 @@ static int qcom_of_fixup_nodes(void * __maybe_unused ctx, struct event *event)
struct device_node *root = event->data.of_live_built.root;
time_call(fixup_usb_nodes, root);
- time_call(fixup_power_domains, root);
return 0;
}
--
2.34.1
More information about the U-Boot
mailing list