Re: [RFC 0/9] clk: qcom: gcc-sdm845: Swicth from expanded definitions to compact macros

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

Probably an unnecessary nit: typo in the word 'Switch' in the title

On 26.07.2022 16:22, Abel Vesa wrote:
> Lets see where this goes.
> 
> This RFC is basically a proof-of-concept of how we could use more
> compact macros rather than expanded definitions for clocks on QCOM
> platforms. As the subject says, this is only for SDM845 GCC, for now.
> 
> Also, there are a couple of hacky solutions here that need to be
> reworked before it could be merged (if ever). One that comes to mind is
> the way the branch clock macros differentiate between having no parent,
> a parent name, or a parent HW. I'm still looking into that, so ...
> 
> I tried to make them as compact and readable from the user's POV, but
> there is some complexity needed in order to allow passing different
> types (or number) of parents. Maybe that complexity is too crazy and
> doesn't bring that much benefit.
> 
> I managed to put together some semi-automated way to do this for every
> CC, on every platform, if it's decided so. The only testing I managed to
> do so far was comparing the preprocessed output before and after. Oh,
> and the MTP does boot. I still need time to make sure that nothing gets
> broken.
> 
> Also, this series is still WIP, so everything can be reworked fast, if
> needed.
> 
> Abel Vesa (9):
>   clk: qcom: qcc-sdm845: Collapse gdsc structs into macros
>   clk: qcom: gcc-sdm845: Switch from parent_hws to parent_data
>   clk: qcom: rcg: Add macros to collapse definition
>   clk: qcom: alpha-pll: Add macros to collapse definition
>   clk: qcom: branch: Add macros to collapse definition
>   clk: qcom: common: Add macro wrapper for all clock types
>   clk: qcom: gcc-sdm845: Switch to macros to collapse branch clocks
>     definitions
>   clk: qcom: gcc-sdm845: Switch to macros to collapse rcg2 clocks
>     definitions
>   clk: qcom: gcc-sdm845: Switch to macros to collapse alpha-pll clocks
>     definitions
> 
>  drivers/clk/qcom/clk-alpha-pll.h |   61 +
>  drivers/clk/qcom/clk-branch.h    |   82 +
>  drivers/clk/qcom/clk-rcg.h       |   40 +
>  drivers/clk/qcom/common.h        |    3 +
>  drivers/clk/qcom/gcc-sdm845.c    | 3222 ++----------------------------
>  drivers/clk/qcom/gdsc.h          |   10 +
>  6 files changed, 406 insertions(+), 3012 deletions(-)
> 
> --
At first I was against it, but now I like it. Saves on LoC and clutter.
And it will hopefully finally be reviewable, without 15 levels of
indentation flashing before your eyes :D

I am also happy you mentioned a "semi-automated" way to convert things,
especially since Qualcomm will take some time to adjust to this scheme
on their downstream kernel (it's already really good, I still have
arch/arm/mach-msm flashbacks..) and of course, when it comes to platform
support, the more the merrier!

Thanks for working on this.

Konrad
> 2.34.3
> 



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux