[PATCH v8 3/4] mach-snapdragon: Remove RPMH power domain DT fixup code

Sumit Garg sumit.garg at kernel.org
Fri Feb 20 10:02:46 CET 2026


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 <varadarajan.narayanan at oss.qualcomm.com>
> Signed-off-by: Aswin Murugan <aswin.murugan at oss.qualcomm.com>
> ---
> v8:
> - Changed commit message
>

Reviewed-by: Sumit Garg <sumit.garg at oss.qualcomm.com>

-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
> 


More information about the U-Boot mailing list