After some complaints in the upstreaming of the A1 clock drivers, S4 clock driver and a tentative to use some of the private DSI clocks in [1], it has been decided to move out all the "private" clk IDs to public dt-bindings headers. For that we must get rid of the "NR_CLKS" define and use ARRAY_SIZE() to get the count of hw_clks, then we can move the IDs and do some cleanup. Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx> --- Changes in v2: - Collect review tags - Move newly introduced helper and header into new meson-clkc-utils module - Link to v1: https://lore.kernel.org/r/20230607-topic-amlogic-upstream-clkid-public-migration-v1-0-9676afa6b22c@xxxxxxxxxx --- Neil Armstrong (19): clk: meson: introduce meson-clkc-utils clk: meson: migrate meson-eeclk out of hw_onecell_data to drop NR_CLKS clk: meson: migrate meson-aoclk out of hw_onecell_data to drop NR_CLKS clk: meson: migrate a1 clock drivers out of hw_onecell_data to drop NR_CLKS clk: meson: migrate meson8b out of hw_onecell_data to drop NR_CLKS clk: meson: migrate axg-audio out of hw_onecell_data to drop NR_CLKS dt-bindings: clk: gxbb-clkc: expose all clock ids dt-bindings: clk: axg-clkc: expose all clock ids dt-bindings: clk: g12a-clks: expose all clock ids dt-bindings: clk: g12a-aoclkc: expose all clock ids dt-bindings: clk: meson8b-clkc: expose all clock ids dt-bindings: clk: amlogic,a1-peripherals-clkc: expose all clock ids dt-bindings: clk: amlogic,a1-pll-clkc: expose all clock ids dt-bindings: clk: axg-audio-clkc: expose all clock ids clk: meson: aoclk: move bindings include to main driver clk: meson: eeclk: move bindings include to main driver clk: meson: a1: move bindings include to main driver clk: meson: meson8b: move bindings include to main driver clk: meson: axg-audio: move bindings include to main driver drivers/clk/meson/Kconfig | 9 + drivers/clk/meson/Makefile | 1 + drivers/clk/meson/a1-peripherals.c | 325 ++--- drivers/clk/meson/a1-peripherals.h | 67 - drivers/clk/meson/a1-pll.c | 38 +- drivers/clk/meson/a1-pll.h | 19 - drivers/clk/meson/axg-aoclk.c | 48 +- drivers/clk/meson/axg-aoclk.h | 18 - drivers/clk/meson/axg-audio.c | 851 ++++++----- drivers/clk/meson/axg-audio.h | 75 - drivers/clk/meson/axg.c | 285 ++-- drivers/clk/meson/axg.h | 63 - drivers/clk/meson/g12a-aoclk.c | 72 +- drivers/clk/meson/g12a-aoclk.h | 32 - drivers/clk/meson/g12a.c | 1489 ++++++++++---------- drivers/clk/meson/g12a.h | 145 -- drivers/clk/meson/gxbb-aoclk.c | 14 +- drivers/clk/meson/gxbb-aoclk.h | 15 - drivers/clk/meson/gxbb.c | 848 +++++------ drivers/clk/meson/gxbb.h | 81 -- drivers/clk/meson/meson-aoclk.c | 9 +- drivers/clk/meson/meson-aoclk.h | 3 +- drivers/clk/meson/meson-clkc-utils.c | 25 + drivers/clk/meson/meson-clkc-utils.h | 19 + drivers/clk/meson/meson-eeclk.c | 9 +- drivers/clk/meson/meson-eeclk.h | 3 +- drivers/clk/meson/meson8b.c | 1318 ++++++++--------- drivers/clk/meson/meson8b.h | 117 -- .../clock/amlogic,a1-peripherals-clkc.h | 53 + include/dt-bindings/clock/amlogic,a1-pll-clkc.h | 5 + include/dt-bindings/clock/axg-audio-clkc.h | 65 + include/dt-bindings/clock/axg-clkc.h | 48 + include/dt-bindings/clock/g12a-aoclkc.h | 7 + include/dt-bindings/clock/g12a-clkc.h | 130 ++ include/dt-bindings/clock/gxbb-clkc.h | 65 + include/dt-bindings/clock/meson8b-clkc.h | 97 ++ 36 files changed, 3189 insertions(+), 3279 deletions(-) --- base-commit: 84af914404dbc01f388c440cac72428784b8a161 change-id: 20230607-topic-amlogic-upstream-clkid-public-migration-fc1c67c44858 Best regards, -- Neil Armstrong <neil.armstrong@xxxxxxxxxx>