[PATCH v6 4/5] mach-snapdragon: fixup power-domains

Varadarajan Narayanan varadarajan.narayanan at oss.qualcomm.com
Wed Dec 17 11:51:37 CET 2025


On Thu, Nov 13, 2025 at 05:04:26PM +0530, Aswin Murugan wrote:
> RPMH power domain properties were initially removed from the
> device tree due to the absence of driver support. Since RPMH
> power domain driver is added now, the fixups are removed.

Reviewed-by: Varadarajan Narayanan <varadarajan.narayanan at oss.qualcomm.com>

> Signed-off-by: Aswin Murugan <aswin.murugan at oss.qualcomm.com>
> ---
> 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 eec2c0c757e..93c16821e54 100644
> --- a/arch/arm/mach-snapdragon/of_fixup.c
> +++ b/arch/arm/mach-snapdragon/of_fixup.c
> @@ -116,36 +116,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(); \
> @@ -158,7 +128,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