The barebox clk framework has diverged a lot from Linux. Specifically the separation of a struct clk_hw from struct clk causes some pain when porting over code from Linux. This series aims to reduce the differences a bit. I am currently working on adding Rockchip rk3568 support and with this series porting over the Linux clk driver has become much easier. Sascha Sascha Hauer (14): clk: introduce clk init op clk: rename clk_register() to bclk_register() clk: introduce struct clk_hw clk: introduce clk_register() clk: divider: Add ro ops clk: mux: Add ro ops clk: move fixed_factor to include/linux/clk.h Add rational_best_approximation() clk: Update fractional divider from Linux clk: Add lock to different clock types clk: Add Linux functions to register a divider clk: Add Linux functions to register a fixed factor clock clk: Add Linux functions to register a gate clk: Add Linux functions to register a mux drivers/clk/at91/clk-audio-pll.c | 103 ++++++------- drivers/clk/at91/clk-generated.c | 42 +++--- drivers/clk/at91/clk-h32mx.c | 22 +-- drivers/clk/at91/clk-i2s-mux.c | 24 +-- drivers/clk/at91/clk-main.c | 126 ++++++++-------- drivers/clk/at91/clk-master.c | 32 ++-- drivers/clk/at91/clk-peripheral.c | 72 ++++----- drivers/clk/at91/clk-pll.c | 40 ++--- drivers/clk/at91/clk-plldiv.c | 26 ++-- drivers/clk/at91/clk-programmable.c | 32 ++-- drivers/clk/at91/clk-sam9x60-pll.c | 28 ++-- drivers/clk/at91/clk-slow.c | 20 +-- drivers/clk/at91/clk-smd.c | 36 ++--- drivers/clk/at91/clk-system.c | 28 ++-- drivers/clk/at91/clk-usb.c | 92 ++++++------ drivers/clk/at91/clk-utmi.c | 32 ++-- drivers/clk/at91/sckc.c | 114 +++++++-------- drivers/clk/clk-ar933x.c | 18 +-- drivers/clk/clk-ar9344.c | 18 +-- drivers/clk/clk-composite.c | 74 +++++----- drivers/clk/clk-divider.c | 76 +++++++--- drivers/clk/clk-fixed-factor.c | 44 +++--- drivers/clk/clk-fixed.c | 20 +-- drivers/clk/clk-fractional-divider.c | 133 +++++++++++------ drivers/clk/clk-gate-shared.c | 33 +++-- drivers/clk/clk-gate.c | 44 +++--- drivers/clk/clk-gpio.c | 32 ++-- drivers/clk/clk-mux.c | 45 ++++-- drivers/clk/clk-qoric.c | 34 ++--- drivers/clk/clk-stm32mp1.c | 103 +++++++------ drivers/clk/clk.c | 138 ++++++++++++++++-- drivers/clk/imx/clk-composite-8m.c | 33 ++--- drivers/clk/imx/clk-cpu.c | 32 ++-- drivers/clk/imx/clk-frac-pll.c | 38 ++--- drivers/clk/imx/clk-gate-exclusive.c | 36 ++--- drivers/clk/imx/clk-gate2.c | 36 +++-- drivers/clk/imx/clk-imx6ul.c | 4 +- drivers/clk/imx/clk-pfd.c | 34 ++--- drivers/clk/imx/clk-pll14xx.c | 47 +++--- drivers/clk/imx/clk-pllv1.c | 18 +-- drivers/clk/imx/clk-pllv2.c | 24 +-- drivers/clk/imx/clk-pllv3.c | 70 ++++----- drivers/clk/imx/clk-sccg-pll.c | 51 +++---- drivers/clk/loongson/clk-ls1b200.c | 18 +-- drivers/clk/mvebu/corediv.c | 30 ++-- drivers/clk/mxs/clk-div.c | 36 ++--- drivers/clk/mxs/clk-frac.c | 30 ++-- drivers/clk/mxs/clk-lcdif.c | 20 +-- drivers/clk/mxs/clk-pll.c | 32 ++-- drivers/clk/mxs/clk-ref.c | 38 ++--- drivers/clk/rockchip/clk-cpu.c | 20 +-- drivers/clk/rockchip/clk-pll.c | 42 +++--- drivers/clk/socfpga/clk-gate-a10.c | 32 ++-- drivers/clk/socfpga/clk-periph-a10.c | 28 ++-- drivers/clk/socfpga/clk-pll-a10.c | 30 ++-- drivers/clk/socfpga/clk.c | 74 +++++----- drivers/clk/socfpga/clk.h | 6 +- drivers/clk/tegra/clk-divider.c | 17 ++- drivers/clk/tegra/clk-periph.c | 44 +++--- drivers/clk/tegra/clk-pll-out.c | 30 ++-- drivers/clk/tegra/clk-pll.c | 52 +++---- drivers/clk/tegra/clk.h | 6 +- drivers/clk/vexpress/clk-sp810.c | 24 +-- drivers/clk/zynq/clkc.c | 100 ++++++------- drivers/clk/zynqmp/clk-divider-zynqmp.c | 30 ++-- drivers/clk/zynqmp/clk-gate-zynqmp.c | 30 ++-- drivers/clk/zynqmp/clk-mux-zynqmp.c | 30 ++-- drivers/clk/zynqmp/clk-pll-zynqmp.c | 48 +++--- drivers/video/imx-ipu-v3/ipu-di.c | 17 ++- include/linux/clk.h | 186 +++++++++++++++++++++--- include/linux/rational.h | 20 +++ lib/math/Makefile | 1 + lib/math/rational.c | 100 +++++++++++++ 73 files changed, 1899 insertions(+), 1376 deletions(-) create mode 100644 include/linux/rational.h create mode 100644 lib/math/rational.c -- 2.29.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox