[PATCH 05/26] clk: amlogic: c3-peripherals: naming consistency alignment

Chuan Liu chuan.liu at amlogic.com
Thu Jul 3 02:23:49 PDT 2025


On 7/3/2025 5:02 PM, Jerome Brunet wrote:
> [ EXTERNAL EMAIL ]
>
>>>>> -#define C3_CLK_GATE(_name, _reg, _bit, _fw_name, _ops, _flags)         \
>>>>> -struct clk_regmap _name = {                                            \
>>>>> +#define C3_PCLK(_name, _reg, _bit, _fw_name, _ops, _flags)             \
>>>>> +struct clk_regmap c3_##_name = {                                       \
>>>>>            .data = &(struct clk_regmap_gate_data){                         \
>>>>>                    .offset = (_reg),                                       \
>>>>>                    .bit_idx = (_bit),                                      \
>>>>>            },                                                              \
>>>>>            .hw.init = &(struct clk_init_data) {                            \
>>>>> -               .name = #_name,                                         \
>>>>> +               .name = "c3_" #_name,                                   \
>>>> Prefixing variable names with 'SoC' is understandable (to avoid duplicate
>>>> definitions and facilitate variable searching), but is it necessary to add
>>>> 'SoC' prefixes to clock names?
>>> This is part of the description but I'll ellaborate.
>>>
>>> Some controllers do so, some do not. This is a typical pointless
>>> difference that make code sharing difficult and lead to the duplication
>>> I'm addressing now.
>>
>> Yes, in fact most clock configurations are consistent across our SoCs. Over
>> the years, we've been continuously working to make our driver code more
>> 'common'
>> and efficient.
>>
> No they are not consistent at all when it come to this
>
> Controller prefixing the pclks:
> * axg-ao
> * axg
> * g12-ao
> * g12
> * gxbb
> * s4-periphs
>
> Controllers not prefixing the pclks
> * gxbb-ao
> * a1-periphs
> * c3-periphs
> * meson8b
>
> I do not want to invent new names to avoid the names clashes if the
> prefixes are dropped. I tried that way and it was a mess.
>
> As noted in the description, clock names will not be prefixed with SoC
> name, *except* for the pclks for the historic reason explained above.


Understood, I'm no further questions. Thanks!


Reviewed-by: Chuan Liu <chuan.liu at amlogic.com>


>>> Both with and without are fine but picking one a sticking to it helps a
>>> lot. I would have preferred to drop the prefix from the pclk clock
>>> names, same as the other clock, but:
>>
>> I still prefer adding SoC prefixes to variable names but not to clock names.
>> clocks with the same name generally have similar functions across different
>> chips.
> It is not a matter of preference.
>
>>
>>> * It would have changed more clock names and I prefer to minimize those
>>> changes
>>
>> Your recent patch series has already made significant changes, and this is
>> relatively a minor adjustment😉
>>
>>
>>> * It would have caused several name clashes with other clocks.
>>>
>>> so prefix it is for the peripheral clock.
>>>
>>> In the end, what matters is consistency.
>>>
>>>>>                    .ops = _ops,                                            \
>>>>>                    .parent_data = &(const struct clk_parent_data) {        \
>>>>> -                       .fw_name = #_fw_name,                           \
>>>>> +                       .fw_name = (_fw_name),                          \
>>>>>                    },                                                      \
>>>>>                    .num_parents = 1,                                       \
>>>>>                    .flags = (_flags),                                      \
>>>>>            },                                                              \
>>>>>     }
>>>> [...]
>>> --
>>> Jerome
> --
> Jerome



More information about the linux-amlogic mailing list