RE: [PATCH] drivers: clk: zynqmp: remove clock name dependency

From: Trivedi Manojbhai, Naman
Date: Thu Mar 07 2024 - 01:06:57 EST


Hi Stephen,

>-----Original Message-----
>From: Stephen Boyd <sboyd@xxxxxxxxxx>
>Sent: Thursday, January 4, 2024 6:30 AM
>To: Trivedi Manojbhai, Naman <Naman.TrivediManojbhai@xxxxxxx>;
>abel.vesa@xxxxxxxxxx; angelogioacchino.delregno@xxxxxxxxxxxxx;
>krzysztof.kozlowski@xxxxxxxxxx; Simek, Michal <michal.simek@xxxxxxx>;
>mturquette@xxxxxxxxxxxx; robh@xxxxxxxxxx
>Cc: linux-clk@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
>kernel@xxxxxxxxxxxxxxx; Trivedi Manojbhai, Naman
><Naman.TrivediManojbhai@xxxxxxx>
>Subject: Re: [PATCH] drivers: clk: zynqmp: remove clock name dependency
>
>Caution: This message originated from an External Source. Use proper caution
>when opening attachments, clicking links, or responding.
>
>
>Quoting Naman Trivedi Manojbhai (2024-01-02 23:20:17)
>> Currently, from zynqmp_get_parent_list() function the clock driver
>> references the clock by name instead of its reference from device tree.
>> This causes problem when the clock name in the device tree is changed.
>>
>> Remove hard dependency of clock name and update the logic to use clock
>> reference from device tree instead of clock name.
>
>Please use struct clk_parent_data instead.
Thanks for review. As per my understanding, you suggest to replace the proposed
logic, and use "struct clk_parent_data" to get the clock name from device tree.

I have gone through other drivers which use the "struct clk_parent_data" structure, they have hard coded clock names in the driver. In zynqmp, the driver receives clock name from firmware.

Also, the "zynqmp_get_parent_list" function is called before clocks are
registered. So at this point, we don't have the hw structure which has
clk_parent_data.

So, I did not get how to use the struct clk_parent_data in this case. Can you please provide an example which I can look at as a reference?

Thanks,
Naman