On Fri, Feb 13, 2026 at 04:40:08PM +0530, Aswin Murugan wrote: > 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 <[email protected]> > Signed-off-by: Aswin Murugan <[email protected]> > --- > v8: > - Changed commit message >
Reviewed-by: Sumit Garg <[email protected]> -Sumit > 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 >

