[PATCH 3/4] clk: scmi: Postpone clock name resolution
    Marek Vasut 
    marek.vasut at mailbox.org
       
    Tue Oct 28 14:51:43 CET 2025
    
    
  
On 10/28/25 12:56 PM, Peng Fan wrote:
Hello Peng,
>> @@ -325,24 +326,20 @@ static int scmi_clk_probe(struct udevice *dev)
>> 		return -ENOMEM;
>>
>> 	for (i = 0; i < num_clocks; i++) {
>> -		char *clock_name;
>> +		clk_scmi = clk_scmi_bulk + i;
>> +		char *clock_name = clk_scmi->name;
>> 		u32 attributes;
>>
>> -		if (!scmi_clk_get_attibute(dev, i, &clock_name, &attributes)) {
>> -			clk_scmi = clk_scmi_bulk + i;
>> -			if (!clock_name)
>> -				ret = -ENOMEM;
>> -			else
>> -				ret = clk_register(&clk_scmi->clk, dev->driver->name,
>> -						   clock_name, dev->name);
>> -
>> -			if (ret) {
>> -				free(clock_name);
>> -				return ret;
>> -			}
>> +		snprintf(clock_name, SCMI_CLOCK_NAME_LENGTH_MAX, "scmi-%zu", i);
>> +
>> +		ret = clk_register(&clk_scmi->clk, dev->driver->name,
>> +				   clock_name, dev->name);
>> +		if (ret)
>> +			return ret;
>>
>> -			dev_clk_dm(dev, i, &clk_scmi->clk);
>> +		dev_clk_dm(dev, i, &clk_scmi->clk);
>>
>> +		if (!scmi_clk_get_attibute(dev, i, &clock_name, &attributes)) {
> 
> There is still scmi_clk_get_attibute for each clock. In commit log,
> you mentioned this takes lot time to complete. I may miss something,
> what is improved in this change?
That scmi_clk_get_attribute() is finally deferred in 4/4 , which 
improves that . I tried to keep the patchset reviewable, so I split the 
rework into multiple patches.
    
    
More information about the U-Boot
mailing list