Message ID | 20220726142303.4126434-1-abel.vesa@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | clk: qcom: gcc-sdm845: Swicth from expanded definitions to compact macros | expand |
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 >