Re: [PATCH 3/3] pmdomain: arm_scmi: add support for domain hierarchies

From: Kevin Hilman

Date: Thu Apr 09 2026 - 21:01:54 EST


Dhruva Gole <d-gole@xxxxxx> writes:

> On Mar 10, 2026 at 17:19:25 -0700, Kevin Hilman (TI) wrote:
>> After primary SCMI pmdomain is created, use new of_genpd helper which
>> checks for child domain mappings defined in power-domains-child-ids.
>>
>> Also remove any child domain mappings when SCMI domain is removed.
>>
>> Signed-off-by: Kevin Hilman (TI) <khilman@xxxxxxxxxxxx>
>> ---
>
> Again, since it worked fine on my AM62L,
> Tested-by: Dhruva Gole <d-gole@xxxxxx>

Thanks for testing & reviewing!

> But I had some thoughts further down...
>
>> drivers/pmdomain/arm/scmi_pm_domain.c | 14 +++++++++++++-
>> 1 file changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/pmdomain/arm/scmi_pm_domain.c b/drivers/pmdomain/arm/scmi_pm_domain.c
>> index b5e2ffd5ea64..9d8faef44aa9 100644
>> --- a/drivers/pmdomain/arm/scmi_pm_domain.c
>> +++ b/drivers/pmdomain/arm/scmi_pm_domain.c
>> @@ -114,6 +114,14 @@ static int scmi_pm_domain_probe(struct scmi_device *sdev)
>>
>> dev_set_drvdata(dev, scmi_pd_data);
>>
>> + /*
>> + * Parse (optional) power-domains-child-ids property to
>> + * establish parent-child relationships
>> + */
>> + ret = of_genpd_add_child_ids(np, scmi_pd_data);
>> + if (ret < 0 && ret != -ENOENT)
>> + pr_err("Failed to parse power-domains-child-ids for %pOF: %d\n", np, ret);
>
> Nit: I think the style of this driver is to use dev_err than pr_err

Agreed.

> Also, maybe a dev_warn makes more sense since we're not even returning
> the error or doing anything different if we get certain error path.

OK.

> I am wondering if it makes sense to just abort the whole idea of
> creating power-domain child ids if anything goes wrong?
>
> Basically just of_genpd_remove_child_ids if we face a condition where we
> have different number of parents/ children or id > num etc...
>
> All are error cases where the system behaviour can go on to become very
> unpredictable if we end up making a false/ incomplete parent-child ID
> map.
>
> Thoughts?

I agree. After thinking through some of Ulf's suggestions on the
different error handling ideas, I think this should really be "all or
nothing". If we we cannot parse & add all the children in the list, we
should add none of them. I think partial additions will be come
unwieldy to manage rather quickly, and require the pmdomain core to keep
state.

Kevin