linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 000/114] clk: convert drivers from deprecated round_rate() to determine_rate()
@ 2025-08-11 15:17 Brian Masney via B4 Relay
  2025-08-11 15:17 ` [PATCH 001/114] clk: at91: peripheral: fix return value Brian Masney via B4 Relay
                   ` (120 more replies)
  0 siblings, 121 replies; 172+ messages in thread
From: Brian Masney via B4 Relay @ 2025-08-11 15:17 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Sudeep Holla, Cristian Marussi,
	Chen Wang, Inochi Amaoto, Nicolas Ferre, Alexandre Belloni,
	Claudiu Beznea, Paul Cercueil, Keguang Zhang, Taichi Sugaya,
	Takao Orito, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, Jacky Huang, Shan-Chun Hung, Vladimir Zapolskiy,
	Piotr Wojtaszczyk, Paul Walmsley, Samuel Holland, Yixun Lan,
	Steen Hegelund, Daniel Machon, UNGLinuxDriver, Orson Zhai,
	Baolin Wang, Chunyan Zhang, Maxime Coquelin, Alexandre Torgue,
	Michal Simek, Maxime Ripard, Andreas Färber,
	Manivannan Sadhasivam, Sven Peter, Janne Grunau,
	Alyssa Rosenzweig, Neal Gompa, Eugeniy Paltsev, Ray Jui,
	Scott Branden, Broadcom internal kernel review list, Max Filippov,
	Matthias Brugger, AngeloGioacchino Del Regno, Daniel Palmer,
	Romain Perier, Andrew Lunn, Gregory Clement,
	Sebastian Hesselbarth, Bjorn Andersson, Geert Uytterhoeven,
	Heiko Stuebner, Andrea della Porta, Krzysztof Kozlowski,
	Sylwester Nawrocki, Chanwoo Choi, Alim Akhtar, Qin Jian,
	Viresh Kumar, Ulf Hansson, Luca Ceresoli, Alex Helms,
	Linus Walleij, Liviu Dudau, Lorenzo Pieralisi, Nobuhiro Iwamatsu
  Cc: linux-clk, linux-kernel, arm-scmi, linux-arm-kernel, sophgo,
	linux-mips, imx, linux-riscv, spacemit, linux-stm32, patches,
	linux-actions, asahi, linux-mediatek, linux-arm-msm,
	linux-renesas-soc, linux-rockchip, linux-samsung-soc, soc,
	Brian Masney

The round_rate() clk ops is deprecated in the clk framework in favor
of the determine_rate() clk ops, so let's go ahead and convert the
various clk drivers using the Coccinelle semantic patch posted below.
I did a few minor cosmetic cleanups of the code in a few cases.

This series is broken up into several categories:

- Patch 1 to clk/at91/peripheral is a bug fix for a return value.

- Patch 2 to clk/at91/peripheral wasn't straight forward like the other
  drivers, so I'm explicitly calling this one out separately.

- Patch 3 adds a determine_rate() op and keeps the round_rate() in place
  since this is needed by drivers/clk/actions/owl-composite.c and keeps
  the tree bisectable. The deprecated round_rate() op is dropped in patch
  113.

- Patches 4-70 are for drivers where there is no clk submaintainer
  listed in the MAINTAINERS file. Patch 19 includes a minor fix so that
  Coccinelle can be ran against a particular source file.

- Patches 71-110 are for drivers where this is an entry in MAINTAINERS
  for the driver.

- Patches 111-114 are for drivers that implement both round_rate() and
  determine_rate(), so the round_rate() implementation is dropped.

Once all of my conversion patches across the various trees in the kernel
have been merged, I will post a small series that removes the
round_rate() op from the clk core and the documentation. Here's the
other patch series that are currently in flight that need to be merged
before we can remove round_rate() from the core.

- arm32 (3): https://lore.kernel.org/linux-clk/20250710-arm32-clk-round-rate-v1-0-a9146b77aca9@redhat.com/T/
- clk/tegra (6): https://lore.kernel.org/linux-clk/20250710-clk-tegra-round-rate-v1-0-e48ac3df4279@redhat.com/T/
- clk/ti (7): https://lore.kernel.org/linux-clk/20250811-b4-clk-ti-round-rate-v1-0-cc0840594a49@redhat.com/T/
- clocksource (1): https://lore.kernel.org/linux-clk/20250810-clocksource-round-rate-v1-1-486ef53e45eb@redhat.com/T/
- drm (9): https://lore.kernel.org/linux-clk/20250811-drm-clk-round-rate-v2-0-4a91ccf239cf@redhat.com/T/
- drm/msm (7): https://lore.kernel.org/linux-clk/20250810-drm-msm-phy-clk-round-rate-v2-0-0fd1f7979c83@redhat.com/T/
- i2c (1): https://lore.kernel.org/linux-clk/20250810-i2c-round-rate-v1-1-9488b57153e7@redhat.com/T/
- media (4): https://lore.kernel.org/linux-clk/20250710-media-clk-round-rate-v1-0-a9617b061741@redhat.com/T/
- mips (1): https://lore.kernel.org/linux-clk/20250810-mips-round-rate-v1-1-54e424c520dd@redhat.com/T/
- net (1): https://lore.kernel.org/linux-clk/20250810-net-round-rate-v1-1-dbb237c9fe5c@redhat.com/T/
- peci (1): https://lore.kernel.org/linux-clk/20250810-peci-round-rate-v1-1-ec96d216a455@redhat.com/T/
- phy (9): https://lore.kernel.org/linux-phy/20250810-phy-clk-round-rate-v2-0-9162470bb9f2@redhat.com/T/
- pmdomain (1): https://lore.kernel.org/linux-clk/20250810-pmdomain-round-rate-v1-1-1a90dbacdeb6@redhat.com/T/
- tty (1): https://lore.kernel.org/linux-clk/20250810-tty-round-rate-v1-1-849009f3bdfd@redhat.com/T/

Coccinelle semantic patch:

    virtual patch

    // Look up the current name of the round_rate function
    @ has_round_rate @
    identifier round_rate_name =~ ".*_round_rate";
    identifier hw_param, rate_param, parent_rate_param;
    @@

    long round_rate_name(struct clk_hw *hw_param, unsigned long rate_param,
                  unsigned long *parent_rate_param)
    {
    	...
    }

    // Rename the route_rate function name to determine_rate()
    @ script:python generate_name depends on has_round_rate @
    round_rate_name << has_round_rate.round_rate_name;
    new_name;
    @@

    coccinelle.new_name = round_rate_name.replace("_round_rate", "_determine_rate")

    // Change rate to req->rate; also change occurrences of 'return XXX'.
    @ chg_rate depends on generate_name @
    identifier has_round_rate.round_rate_name;
    identifier has_round_rate.hw_param;
    identifier has_round_rate.rate_param;
    identifier has_round_rate.parent_rate_param;
    identifier ERR =~ "E.*";
    expression E;
    @@

    long round_rate_name(struct clk_hw *hw_param, unsigned long rate_param,
                  unsigned long *parent_rate_param)
    {
    <...
    (
    -return -ERR;
    +return -ERR;
    |
    - return rate_param;
    + return 0;
    |
    - return E;
    + req->rate = E;
    +
    + return 0;
    |
    - rate_param
    + req->rate
    )
    ...>
    }

    // Coccinelle only transforms the first occurrence of the rate parameter
    // Run a second time. FIXME: Is there a better way to do this?
    @ chg_rate2 depends on generate_name @
    identifier has_round_rate.round_rate_name;
    identifier has_round_rate.hw_param;
    identifier has_round_rate.rate_param;
    identifier has_round_rate.parent_rate_param;
    @@

    long round_rate_name(struct clk_hw *hw_param, unsigned long rate_param,
                  unsigned long *parent_rate_param)
    {
    <...
    - rate_param
    + req->rate
    ...>
    }

    // Change parent_rate to req->best_parent_rate
    @ chg_parent_rate depends on generate_name @
    identifier has_round_rate.round_rate_name;
    identifier has_round_rate.hw_param;
    identifier has_round_rate.rate_param;
    identifier has_round_rate.parent_rate_param;
    @@

    long round_rate_name(struct clk_hw *hw_param, unsigned long rate_param,
                  unsigned long *parent_rate_param)
    {
    <...
    (
    - *parent_rate_param
    + req->best_parent_rate
    |
    - parent_rate_param
    + &req->best_parent_rate
    )
    ...>
    }

    // Convert the function definition from round_rate() to determine_rate()
    @ func_definition depends on chg_rate @
    identifier has_round_rate.round_rate_name;
    identifier has_round_rate.hw_param;
    identifier has_round_rate.rate_param;
    identifier has_round_rate.parent_rate_param;
    identifier generate_name.new_name;
    @@

    - long round_rate_name(struct clk_hw *hw_param, unsigned long rate_param,
    -               unsigned long *parent_rate_param)
    + int new_name(struct clk_hw *hw, struct clk_rate_request *req)
    {
        ...
    }

    // Update the ops from round_rate() to determine_rate()
    @ ops depends on func_definition @
    identifier has_round_rate.round_rate_name;
    identifier generate_name.new_name;
    @@

    {
        ...,
    -   .round_rate = round_rate_name,
    +   .determine_rate = new_name,
        ...,
    }

Note that I used coccinelle 1.2 instead of 1.3 since the newer version
adds unnecessary braces as described in this post.
https://lore.kernel.org/cocci/67642477-5f3e-4b2a-914d-579a54f48cbd@intel.com/

Signed-off-by: Brian Masney <bmasney@redhat.com>
---
Brian Masney (114):
      clk: at91: peripheral: fix return value
      clk: at91: peripheral: convert from round_rate() to determine_rate()
      clk: fixed-factor: add determine_rate() ops
      clk: at91: audio-pll: convert from round_rate() to determine_rate()
      clk: at91: h32mx: convert from round_rate() to determine_rate()
      clk: at91: pll: convert from round_rate() to determine_rate()
      clk: at91: plldiv: convert from round_rate() to determine_rate()
      clk: at91: sam9x60-pll: convert from round_rate() to determine_rate()
      clk: at91: usb: convert from round_rate() to determine_rate()
      clk: baikal-t1: ccu-div: convert from round_rate() to determine_rate()
      clk: baikal-t1: ccu-pll: convert from round_rate() to determine_rate()
      clk: cdce925: convert from round_rate() to determine_rate()
      clk: cs2000-cp: convert from round_rate() to determine_rate()
      clk: ep93xx: convert from round_rate() to determine_rate()
      clk: fractional-divider: convert from round_rate() to determine_rate()
      clk: gemini: convert from round_rate() to determine_rate()
      clk: highbank: convert from round_rate() to determine_rate()
      clk: hisilicon: clkdivider-hi6220: convert from round_rate() to determine_rate()
      clk: hisilicon: hi3660-stub: move comma from declaration of DEFINE_CLK_STUB()
      clk: hisilicon: hi3660-stub: convert from round_rate() to determine_rate()
      clk: hisilicon: hi6220-stub: convert from round_rate() to determine_rate()
      clk: ingenic: cgu: convert from round_rate() to determine_rate()
      clk: ingenic: jz4780-cgu: convert from round_rate() to determine_rate()
      clk: ingenic: x1000-cgu: convert from round_rate() to determine_rate()
      clk: lmk04832: convert from round_rate() to determine_rate()
      clk: loongson1: convert from round_rate() to determine_rate()
      clk: max9485: convert from round_rate() to determine_rate()
      clk: milbeaut: convert from round_rate() to determine_rate()
      clk: mmp: audio: convert from round_rate() to determine_rate()
      clk: mmp: frac: convert from round_rate() to determine_rate()
      clk: multiplier: convert from round_rate() to determine_rate()
      clk: mxs: div: convert from round_rate() to determine_rate()
      clk: mxs: frac: convert from round_rate() to determine_rate()
      clk: mxs: ref: convert from round_rate() to determine_rate()
      clk: nuvoton: ma35d1-divider: convert from round_rate() to determine_rate()
      clk: nuvoton: ma35d1-pll: convert from round_rate() to determine_rate()
      clk: nxp: lpc18xx-cgu: convert from round_rate() to determine_rate()
      clk: nxp: lpc32xx: convert from round_rate() to determine_rate()
      clk: pistachio: pll: convert from round_rate() to determine_rate()
      clk: scpi: convert from round_rate() to determine_rate()
      clk: si514: convert from round_rate() to determine_rate()
      clk: si521xx: convert from round_rate() to determine_rate()
      clk: si5341: convert from round_rate() to determine_rate()
      clk: si544: convert from round_rate() to determine_rate()
      clk: si570: convert from round_rate() to determine_rate()
      clk: sifive: sifive-prci: convert from round_rate() to determine_rate()
      clk: sophgo: cv18xx-ip: convert from round_rate() to determine_rate()
      clk: sophgo: sg2042-clkgen: convert from round_rate() to determine_rate()
      clk: spacemit: ccu_ddn: convert from round_rate() to determine_rate()
      clk: spacemit: ccu_mix: convert from round_rate() to determine_rate()
      clk: spacemit: ccu_pll: convert from round_rate() to determine_rate()
      clk: sparx5: convert from round_rate() to determine_rate()
      clk: sprd: div: convert from round_rate() to determine_rate()
      clk: sprd: pll: convert from round_rate() to determine_rate()
      clk: st: clkgen-fsyn: convert from round_rate() to determine_rate()
      clk: st: clkgen-pll: convert from round_rate() to determine_rate()
      clk: stm32f4: convert from round_rate() to determine_rate()
      clk: stm32: stm32-core: convert from round_rate() to determine_rate()
      clk: stm32: stm32mp1: convert from round_rate() to determine_rate()
      clk: tps68470: convert from round_rate() to determine_rate()
      clk: versaclock3: convert from round_rate() to determine_rate()
      clk: vt8500: convert from round_rate() to determine_rate()
      clk: wm831x: convert from round_rate() to determine_rate()
      clk: x86: cgu: convert from round_rate() to determine_rate()
      clk: xgene: convert from round_rate() to determine_rate()
      clk: xilinx: xlnx-clock-wizard: convert from round_rate() to determine_rate()
      clk: xilinx: xlnx_vcu: convert from round_rate() to determine_rate()
      clk: zynqmp: divider: convert from round_rate() to determine_rate()
      clk: zynqmp: pll: convert from round_rate() to determine_rate()
      clk: zynq: pll: convert from round_rate() to determine_rate()
      clk: actions: owl-composite: convert from round_rate() to determine_rate()
      clk: actions: owl-divider: convert from round_rate() to determine_rate()
      clk: actions: owl-factor: convert from round_rate() to determine_rate()
      clk: actions: owl-pll: convert from round_rate() to determine_rate()
      clk: apple-nco: convert from round_rate() to determine_rate()
      clk: axs10x: i2s_pll_clock: convert from round_rate() to determine_rate()
      clk: axs10x: pll_clock: convert from round_rate() to determine_rate()
      clk: bcm: iproc-asiu: convert from round_rate() to determine_rate()
      clk: bm1880: convert from round_rate() to determine_rate()
      clk: cdce706: convert from round_rate() to determine_rate()
      clk: hsdk-pll: convert from round_rate() to determine_rate()
      clk: mediatek: pll: convert from round_rate() to determine_rate()
      clk: microchip: core: convert from round_rate() to determine_rate()
      clk: mstar: msc313-cpupll: convert from round_rate() to determine_rate()
      clk: mvebu: ap-cpu-clk: convert from round_rate() to determine_rate()
      clk: mvebu: armada-37xx-periph: convert from round_rate() to determine_rate()
      clk: mvebu: corediv: convert from round_rate() to determine_rate()
      clk: mvebu: cpu: convert from round_rate() to determine_rate()
      clk: mvebu: dove-divider: convert from round_rate() to determine_rate()
      clk: qcom: alpha-pll: convert from round_rate() to determine_rate()
      clk: qcom: regmap-divider: convert from round_rate() to determine_rate()
      clk: renesas: rzg2l-cpg: convert from round_rate() to determine_rate()
      clk: renesas: rzv2h-cpg: remove round_rate() in favor of determine_rate()
      clk: rockchip: ddr: convert from round_rate() to determine_rate()
      clk: rockchip: half-divider: convert from round_rate() to determine_rate()
      clk: rockchip: pll: convert from round_rate() to determine_rate()
      clk: rp1: convert from round_rate() to determine_rate()
      clk: samsung: cpu: convert from round_rate() to determine_rate()
      clk: samsung: pll: convert from round_rate() to determine_rate()
      clk: sp7021: convert from round_rate() to determine_rate()
      clk: spear: aux-synth: convert from round_rate() to determine_rate()
      clk: spear: frac-synth: convert from round_rate() to determine_rate()
      clk: spear: gpt-synth: convert from round_rate() to determine_rate()
      clk: spear: vco-pll: convert from round_rate() to determine_rate()
      clk: ux500: prcmu: convert from round_rate() to determine_rate()
      clk: versaclock5: convert from round_rate() to determine_rate()
      clk: versaclock7: convert from round_rate() to determine_rate()
      clk: versatile: icst: convert from round_rate() to determine_rate()
      clk: versatile: vexpress-osc: convert from round_rate() to determine_rate()
      clk: visconti: pll: convert from round_rate() to determine_rate()
      clk: divider: remove round_rate() in favor of determine_rate()
      clk: scmi: remove round_rate() in favor of determine_rate()
      clk: sophgo: sg2042-pll: remove round_rate() in favor of determine_rate()
      clk: fixed-factor: drop round_rate() clk ops

 drivers/clk/actions/owl-composite.c        |   8 +-
 drivers/clk/actions/owl-divider.c          |  13 +--
 drivers/clk/actions/owl-factor.c           |  12 +--
 drivers/clk/actions/owl-pll.c              |  25 ++++--
 drivers/clk/at91/clk-audio-pll.c           |  42 +++++----
 drivers/clk/at91/clk-h32mx.c               |  33 ++++---
 drivers/clk/at91/clk-peripheral.c          |  48 ++++++----
 drivers/clk/at91/clk-pll.c                 |  12 +--
 drivers/clk/at91/clk-plldiv.c              |  34 +++++---
 drivers/clk/at91/clk-sam9x60-pll.c         |  29 +++---
 drivers/clk/at91/clk-usb.c                 |  20 +++--
 drivers/clk/axs10x/i2s_pll_clock.c         |  14 +--
 drivers/clk/axs10x/pll_clock.c             |  12 +--
 drivers/clk/baikal-t1/ccu-div.c            |  27 +++---
 drivers/clk/baikal-t1/ccu-pll.c            |  14 +--
 drivers/clk/bcm/clk-iproc-asiu.c           |  25 +++---
 drivers/clk/clk-apple-nco.c                |  14 +--
 drivers/clk/clk-bm1880.c                   |  21 +++--
 drivers/clk/clk-cdce706.c                  |  16 ++--
 drivers/clk/clk-cdce925.c                  |  50 ++++++-----
 drivers/clk/clk-cs2000-cp.c                |  14 +--
 drivers/clk/clk-divider.c                  |  23 -----
 drivers/clk/clk-ep93xx.c                   |  18 ++--
 drivers/clk/clk-fixed-factor.c             |  16 ++--
 drivers/clk/clk-fractional-divider.c       |  25 ++++--
 drivers/clk/clk-gemini.c                   |  15 ++--
 drivers/clk/clk-highbank.c                 |  26 +++---
 drivers/clk/clk-hsdk-pll.c                 |  12 +--
 drivers/clk/clk-lmk04832.c                 |  53 ++++++-----
 drivers/clk/clk-loongson1.c                |  12 +--
 drivers/clk/clk-max9485.c                  |  27 +++---
 drivers/clk/clk-milbeaut.c                 |  22 +++--
 drivers/clk/clk-multiplier.c               |  12 +--
 drivers/clk/clk-rp1.c                      |  45 ++++++----
 drivers/clk/clk-scmi.c                     |  30 -------
 drivers/clk/clk-scpi.c                     |  18 ++--
 drivers/clk/clk-si514.c                    |  24 +++--
 drivers/clk/clk-si521xx.c                  |  14 +--
 drivers/clk/clk-si5341.c                   |  22 +++--
 drivers/clk/clk-si544.c                    |  10 +--
 drivers/clk/clk-si570.c                    |  24 +++--
 drivers/clk/clk-sp7021.c                   |  22 ++---
 drivers/clk/clk-sparx5.c                   |  10 ++-
 drivers/clk/clk-stm32f4.c                  |  26 +++---
 drivers/clk/clk-tps68470.c                 |  12 +--
 drivers/clk/clk-versaclock3.c              |  70 +++++++++------
 drivers/clk/clk-versaclock5.c              |  71 ++++++++-------
 drivers/clk/clk-versaclock7.c              |  30 ++++---
 drivers/clk/clk-vt8500.c                   |  59 ++++++++-----
 drivers/clk/clk-wm831x.c                   |  14 +--
 drivers/clk/clk-xgene.c                    |  41 +++++----
 drivers/clk/hisilicon/clk-hi3660-stub.c    |  18 ++--
 drivers/clk/hisilicon/clk-hi6220-stub.c    |  12 +--
 drivers/clk/hisilicon/clkdivider-hi6220.c  |  12 +--
 drivers/clk/ingenic/cgu.c                  |  12 +--
 drivers/clk/ingenic/jz4780-cgu.c           |  24 ++---
 drivers/clk/ingenic/x1000-cgu.c            |  19 ++--
 drivers/clk/mediatek/clk-pll.c             |  13 +--
 drivers/clk/mediatek/clk-pll.h             |   3 +-
 drivers/clk/mediatek/clk-pllfh.c           |   2 +-
 drivers/clk/microchip/clk-core.c           |  44 ++++++----
 drivers/clk/mmp/clk-audio.c                |  18 ++--
 drivers/clk/mmp/clk-frac.c                 |  27 +++---
 drivers/clk/mstar/clk-msc313-cpupll.c      |  18 ++--
 drivers/clk/mvebu/ap-cpu-clk.c             |  12 +--
 drivers/clk/mvebu/armada-37xx-periph.c     |  15 ++--
 drivers/clk/mvebu/clk-corediv.c            |  18 ++--
 drivers/clk/mvebu/clk-cpu.c                |  12 +--
 drivers/clk/mvebu/dove-divider.c           |  16 ++--
 drivers/clk/mxs/clk-div.c                  |   8 +-
 drivers/clk/mxs/clk-frac.c                 |  16 ++--
 drivers/clk/mxs/clk-ref.c                  |  16 ++--
 drivers/clk/nuvoton/clk-ma35d1-divider.c   |  12 ++-
 drivers/clk/nuvoton/clk-ma35d1-pll.c       |  28 +++---
 drivers/clk/nxp/clk-lpc18xx-cgu.c          |  16 ++--
 drivers/clk/nxp/clk-lpc32xx.c              |  59 +++++++------
 drivers/clk/pistachio/clk-pll.c            |  20 +++--
 drivers/clk/qcom/clk-alpha-pll.c           | 136 ++++++++++++++++-------------
 drivers/clk/qcom/clk-regmap-divider.c      |  27 +++---
 drivers/clk/renesas/rzg2l-cpg.c            |   9 +-
 drivers/clk/renesas/rzv2h-cpg.c            |  10 ---
 drivers/clk/rockchip/clk-ddr.c             |  13 +--
 drivers/clk/rockchip/clk-half-divider.c    |  12 +--
 drivers/clk/rockchip/clk-pll.c             |  23 +++--
 drivers/clk/samsung/clk-cpu.c              |  12 +--
 drivers/clk/samsung/clk-pll.c              |  33 ++++---
 drivers/clk/sifive/fu540-prci.h            |   2 +-
 drivers/clk/sifive/fu740-prci.h            |   2 +-
 drivers/clk/sifive/sifive-prci.c           |  11 +--
 drivers/clk/sifive/sifive-prci.h           |   4 +-
 drivers/clk/sophgo/clk-cv18xx-ip.c         |  10 ++-
 drivers/clk/sophgo/clk-sg2042-clkgen.c     |  17 ++--
 drivers/clk/sophgo/clk-sg2042-pll.c        |  24 ++---
 drivers/clk/spacemit/ccu_ddn.c             |  11 ++-
 drivers/clk/spacemit/ccu_mix.c             |  12 +--
 drivers/clk/spacemit/ccu_pll.c             |  10 ++-
 drivers/clk/spear/clk-aux-synth.c          |  12 +--
 drivers/clk/spear/clk-frac-synth.c         |  12 +--
 drivers/clk/spear/clk-gpt-synth.c          |  12 +--
 drivers/clk/spear/clk-vco-pll.c            |  23 +++--
 drivers/clk/sprd/div.c                     |  13 +--
 drivers/clk/sprd/pll.c                     |   8 +-
 drivers/clk/st/clkgen-fsyn.c               |  33 +++----
 drivers/clk/st/clkgen-pll.c                |  38 ++++----
 drivers/clk/stm32/clk-stm32-core.c         |  28 +++---
 drivers/clk/stm32/clk-stm32mp1.c           |  13 +--
 drivers/clk/ux500/clk-prcmu.c              |  14 +--
 drivers/clk/versatile/clk-icst.c           |  72 +++++++++------
 drivers/clk/versatile/clk-vexpress-osc.c   |  16 ++--
 drivers/clk/visconti/pll.c                 |  17 ++--
 drivers/clk/x86/clk-cgu.c                  |  35 ++++----
 drivers/clk/xilinx/clk-xlnx-clock-wizard.c |  55 ++++++------
 drivers/clk/xilinx/xlnx_vcu.c              |  15 ++--
 drivers/clk/zynq/pll.c                     |  12 +--
 drivers/clk/zynqmp/divider.c               |  23 ++---
 drivers/clk/zynqmp/pll.c                   |  24 ++---
 116 files changed, 1477 insertions(+), 1132 deletions(-)
---
base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585
change-id: 20250729-clk-for-stephen-round-rate-5a88ebdf8da6

Best regards,
-- 
Brian Masney <bmasney@redhat.com>



^ permalink raw reply	[flat|nested] 172+ messages in thread

end of thread, other threads:[~2025-09-03 19:20 UTC | newest]

Thread overview: 172+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-11 15:17 [PATCH 000/114] clk: convert drivers from deprecated round_rate() to determine_rate() Brian Masney via B4 Relay
2025-08-11 15:17 ` [PATCH 001/114] clk: at91: peripheral: fix return value Brian Masney via B4 Relay
2025-08-11 15:59   ` Alexander Sverdlin
2025-08-11 15:17 ` [PATCH 002/114] clk: at91: peripheral: convert from round_rate() to determine_rate() Brian Masney via B4 Relay
2025-08-11 16:00   ` Alexander Sverdlin
2025-08-11 15:17 ` [PATCH 003/114] clk: fixed-factor: add determine_rate() ops Brian Masney via B4 Relay
2025-08-11 15:17 ` [PATCH 004/114] clk: at91: audio-pll: convert from round_rate() to determine_rate() Brian Masney via B4 Relay
2025-08-11 15:17 ` [PATCH 005/114] clk: at91: h32mx: " Brian Masney via B4 Relay
2025-08-11 15:17 ` [PATCH 006/114] clk: at91: pll: " Brian Masney via B4 Relay
2025-08-11 15:17 ` [PATCH 007/114] clk: at91: plldiv: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 008/114] clk: at91: sam9x60-pll: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 009/114] clk: at91: usb: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 010/114] clk: baikal-t1: ccu-div: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 011/114] clk: baikal-t1: ccu-pll: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 012/114] clk: cdce925: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 013/114] clk: cs2000-cp: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 014/114] clk: ep93xx: " Brian Masney via B4 Relay
2025-08-11 15:50   ` Alexander Sverdlin
2025-08-11 15:18 ` [PATCH 015/114] clk: fractional-divider: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 016/114] clk: gemini: " Brian Masney via B4 Relay
2025-08-19  9:46   ` Linus Walleij
2025-08-11 15:18 ` [PATCH 017/114] clk: highbank: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 018/114] clk: hisilicon: clkdivider-hi6220: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 019/114] clk: hisilicon: hi3660-stub: move comma from declaration of DEFINE_CLK_STUB() Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 020/114] clk: hisilicon: hi3660-stub: convert from round_rate() to determine_rate() Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 021/114] clk: hisilicon: hi6220-stub: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 022/114] clk: ingenic: cgu: " Brian Masney via B4 Relay
2025-09-03 19:18   ` Paul Cercueil
2025-08-11 15:18 ` [PATCH 023/114] clk: ingenic: jz4780-cgu: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 024/114] clk: ingenic: x1000-cgu: " Brian Masney via B4 Relay
2025-09-03 19:20   ` Paul Cercueil
2025-08-11 15:18 ` [PATCH 025/114] clk: lmk04832: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 026/114] clk: loongson1: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 027/114] clk: max9485: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 028/114] clk: milbeaut: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 029/114] clk: mmp: audio: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 030/114] clk: mmp: frac: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 031/114] clk: multiplier: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 032/114] clk: mxs: div: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 033/114] clk: mxs: frac: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 034/114] clk: mxs: ref: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 035/114] clk: nuvoton: ma35d1-divider: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 036/114] clk: nuvoton: ma35d1-pll: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 037/114] clk: nxp: lpc18xx-cgu: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 038/114] clk: nxp: lpc32xx: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 039/114] clk: pistachio: pll: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 040/114] clk: scpi: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 041/114] clk: si514: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 042/114] clk: si521xx: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 043/114] clk: si5341: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 044/114] clk: si544: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 045/114] clk: si570: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 046/114] clk: sifive: sifive-prci: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 047/114] clk: sophgo: cv18xx-ip: " Brian Masney via B4 Relay
2025-08-11 15:47   ` Alexander Sverdlin
2025-08-11 15:18 ` [PATCH 048/114] clk: sophgo: sg2042-clkgen: " Brian Masney via B4 Relay
2025-08-11 15:45   ` Alexander Sverdlin
2025-08-11 15:57     ` Brian Masney
2025-08-14  8:47   ` Chen Wang
2025-08-11 15:18 ` [PATCH 049/114] clk: spacemit: ccu_ddn: " Brian Masney via B4 Relay
2025-08-25  8:40   ` Yixun Lan
2025-08-25 15:17   ` Haylen Chu
2025-08-11 15:18 ` [PATCH 050/114] clk: spacemit: ccu_mix: " Brian Masney via B4 Relay
2025-08-25  8:41   ` Yixun Lan
2025-08-25 15:18   ` Haylen Chu
2025-08-11 15:18 ` [PATCH 051/114] clk: spacemit: ccu_pll: " Brian Masney via B4 Relay
2025-08-25  8:41   ` Yixun Lan
2025-08-25 15:18   ` Haylen Chu
2025-08-11 15:18 ` [PATCH 052/114] clk: sparx5: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 053/114] clk: sprd: div: " Brian Masney via B4 Relay
2025-08-12  9:17   ` Chunyan Zhang
2025-08-11 15:18 ` [PATCH 054/114] clk: sprd: pll: " Brian Masney via B4 Relay
2025-08-12  9:16   ` Chunyan Zhang
2025-08-11 15:18 ` [PATCH 055/114] clk: st: clkgen-fsyn: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 056/114] clk: st: clkgen-pll: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 057/114] clk: stm32f4: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 058/114] clk: stm32: stm32-core: " Brian Masney via B4 Relay
2025-08-18 12:08   ` Gabriel FERNANDEZ
2025-08-11 15:18 ` [PATCH 059/114] clk: stm32: stm32mp1: " Brian Masney via B4 Relay
2025-08-18 12:09   ` Gabriel FERNANDEZ
2025-08-11 15:18 ` [PATCH 060/114] clk: tps68470: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 061/114] clk: versaclock3: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 062/114] clk: vt8500: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 063/114] clk: wm831x: " Brian Masney via B4 Relay
2025-08-12  8:04   ` Richard Fitzgerald
2025-08-11 15:18 ` [PATCH 064/114] clk: x86: cgu: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 065/114] clk: xgene: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 066/114] clk: xilinx: xlnx-clock-wizard: " Brian Masney via B4 Relay
2025-08-11 15:18 ` [PATCH 067/114] clk: xilinx: xlnx_vcu: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 068/114] clk: zynqmp: divider: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 069/114] clk: zynqmp: pll: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 070/114] clk: zynq: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 071/114] clk: actions: owl-composite: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 072/114] clk: actions: owl-divider: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 073/114] clk: actions: owl-factor: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 074/114] clk: actions: owl-pll: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 075/114] clk: apple-nco: " Brian Masney via B4 Relay
2025-08-14 15:29   ` Janne Grunau
2025-08-11 15:19 ` [PATCH 076/114] clk: axs10x: i2s_pll_clock: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 077/114] clk: axs10x: pll_clock: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 078/114] clk: bcm: iproc-asiu: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 079/114] clk: bm1880: " Brian Masney via B4 Relay
2025-08-12 15:38   ` Manivannan Sadhasivam
2025-08-11 15:19 ` [PATCH 080/114] clk: cdce706: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 081/114] clk: hsdk-pll: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 082/114] clk: mediatek: pll: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 083/114] clk: microchip: core: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 084/114] clk: mstar: msc313-cpupll: " Brian Masney via B4 Relay
2025-08-14  4:35   ` Daniel Palmer
2025-08-11 15:19 ` [PATCH 085/114] clk: mvebu: ap-cpu-clk: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 086/114] clk: mvebu: armada-37xx-periph: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 087/114] clk: mvebu: corediv: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 088/114] clk: mvebu: cpu: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 089/114] clk: mvebu: dove-divider: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 090/114] clk: qcom: alpha-pll: " Brian Masney via B4 Relay
2025-08-12  9:13   ` Konrad Dybcio
2025-08-11 15:19 ` [PATCH 091/114] clk: qcom: regmap-divider: " Brian Masney via B4 Relay
2025-08-12  9:14   ` Konrad Dybcio
2025-08-11 15:19 ` [PATCH 092/114] clk: renesas: rzg2l-cpg: " Brian Masney via B4 Relay
2025-08-14 15:06   ` Geert Uytterhoeven
2025-08-11 15:19 ` [PATCH 093/114] clk: renesas: rzv2h-cpg: remove round_rate() in favor of determine_rate() Brian Masney via B4 Relay
2025-08-14 15:11   ` Geert Uytterhoeven
2025-08-11 15:19 ` [PATCH 094/114] clk: rockchip: ddr: convert from round_rate() to determine_rate() Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 095/114] clk: rockchip: half-divider: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 096/114] clk: rockchip: pll: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 097/114] clk: rp1: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 098/114] clk: samsung: cpu: " Brian Masney via B4 Relay
2025-08-23 16:50   ` (subset) " Krzysztof Kozlowski
2025-08-11 15:19 ` [PATCH 099/114] clk: samsung: pll: " Brian Masney via B4 Relay
2025-08-23 16:50   ` (subset) " Krzysztof Kozlowski
2025-08-11 15:19 ` [PATCH 100/114] clk: sp7021: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 101/114] clk: spear: aux-synth: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 102/114] clk: spear: frac-synth: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 103/114] clk: spear: gpt-synth: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 104/114] clk: spear: vco-pll: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 105/114] clk: ux500: prcmu: " Brian Masney via B4 Relay
2025-08-19  9:47   ` Linus Walleij
2025-08-11 15:19 ` [PATCH 106/114] clk: versaclock5: " Brian Masney via B4 Relay
2025-08-13  9:07   ` Luca Ceresoli
2025-08-11 15:19 ` [PATCH 107/114] clk: versaclock7: " Brian Masney via B4 Relay
2025-08-11 15:19 ` [PATCH 108/114] clk: versatile: icst: " Brian Masney via B4 Relay
2025-08-19  9:47   ` Linus Walleij
2025-08-11 15:19 ` [PATCH 109/114] clk: versatile: vexpress-osc: " Brian Masney via B4 Relay
2025-08-19  9:49   ` Linus Walleij
2025-08-11 15:19 ` [PATCH 110/114] clk: visconti: pll: " Brian Masney via B4 Relay
2025-08-18  0:48   ` nobuhiro1.iwamatsu
2025-08-11 15:19 ` [PATCH 111/114] clk: divider: remove round_rate() in favor of determine_rate() Brian Masney via B4 Relay
2025-08-11 16:02   ` Alexander Sverdlin
2025-08-14 15:10   ` Geert Uytterhoeven
2025-08-11 15:19 ` [PATCH 112/114] clk: scmi: " Brian Masney via B4 Relay
2025-08-11 15:38   ` Alexander Sverdlin
2025-08-27  7:09   ` Peng Fan
2025-08-27 13:13     ` Brian Masney
2025-08-27 13:49       ` Sudeep Holla
2025-08-11 15:19 ` [PATCH 113/114] clk: sophgo: sg2042-pll: " Brian Masney via B4 Relay
2025-08-11 15:36   ` Alexander Sverdlin
2025-08-14  8:46   ` Chen Wang
2025-08-11 15:19 ` [PATCH 114/114] clk: fixed-factor: drop round_rate() clk ops Brian Masney via B4 Relay
2025-08-11 15:37   ` Alexander Sverdlin
2025-08-11 16:00 ` [PATCH 000/114] clk: convert drivers from deprecated round_rate() to determine_rate() Manivannan Sadhasivam
2025-08-12 10:39 ` Brian Masney
2025-08-12 13:39 ` Icenowy Zheng
2025-08-12 13:53   ` Brian Masney
2025-08-22  6:31 ` Krzysztof Kozlowski
2025-08-22 11:32   ` Brian Masney
2025-08-22 12:23     ` Krzysztof Kozlowski
2025-08-22 13:09       ` Brian Masney
2025-08-23 16:43         ` Krzysztof Kozlowski
2025-09-01  9:49           ` Geert Uytterhoeven
2025-08-23 16:48 ` Krzysztof Kozlowski
2025-08-25 22:23 ` (subset) " Yixun Lan
2025-08-29  0:47 ` Brian Masney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).