From: Aswin Murugan Date: Fri, 13 Feb 2026 11:10:08 +0000 (+0530) Subject: mach-snapdragon: Remove RPMH power domain DT fixup code X-Git-Tag: v2026.07-rc1~8^2~27 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=3fbd82eb67bdf469f710c4cdc03eaa5231ee5b34;p=thirdparty%2Fu-boot.git mach-snapdragon: Remove RPMH power domain DT fixup code 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 Signed-off-by: Aswin Murugan Reviewed-by: Sumit Garg Link: https://patch.msgid.link/20260213111009.1254360-4-aswin.murugan@oss.qualcomm.com Signed-off-by: Casey Connolly --- 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; }