[PATCH 00/14] clk updates

Sascha Hauer s.hauer at pengutronix.de
Tue May 18 04:49:15 PDT 2021


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




More information about the barebox mailing list