Meson SoCs clock controllers use the string comparison method to describe parent relation between the clocks, which is not optimized.
Its also use bypass clock made from device-tree clock to provide an input clock which can be access through global name, but it still not optimal. A recent patch [0] allows parents to be directly specified with device-tree clock name or without string names from localy declared clocks. This patchset replaces clock string names by clock pointers (as possible), removes bypass clocks and uses directly device-tree clock names in parent assignment. Tested on GXL, GXBB, Meson8b, AXG SoCs by comparing the clock summary (orphan too) before and after migration. [0] commit fc0c209c147f ("clk: Allow parents to be specified without string names") Change since v1: - Improve comments in gxbb, g12a and meson8b files Alexandre Mergnat (8): clk: meson: g12a: move clock declaration to dependency order clk: meson: g12a: migrate to the new parent description method clk: meson: gxbb: migrate to the new parent description method clk: meson: axg: migrate to the new parent description method clk: meson: meson8b: migrate to the new parent description method clk: meson: clk-regmap: migrate to new parent description method clk: meson: remove ee input bypass clocks clk: meson: remove clk input helper drivers/clk/meson/Kconfig | 4 - drivers/clk/meson/Makefile | 1 - drivers/clk/meson/axg.c | 207 ++++-- drivers/clk/meson/clk-input.c | 49 -- drivers/clk/meson/clk-input.h | 19 - drivers/clk/meson/clk-regmap.h | 12 +- drivers/clk/meson/g12a.c | 1093 ++++++++++++++++++++----------- drivers/clk/meson/gxbb.c | 657 +++++++++++++------ drivers/clk/meson/meson-eeclk.c | 10 - drivers/clk/meson/meson-eeclk.h | 2 - drivers/clk/meson/meson8b.c | 710 ++++++++++++++------ 11 files changed, 1805 insertions(+), 959 deletions(-) delete mode 100644 drivers/clk/meson/clk-input.c delete mode 100644 drivers/clk/meson/clk-input.h -- 2.17.1