lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250811-clk-for-stephen-round-rate-v1-0-b3bf97b038dc@redhat.com>
Date: Mon, 11 Aug 2025 11:17:52 -0400
From: Brian Masney via B4 Relay <devnull+bmasney.redhat.com@...nel.org>
To: Michael Turquette <mturquette@...libre.com>, 
 Stephen Boyd <sboyd@...nel.org>, Sudeep Holla <sudeep.holla@....com>, 
 Cristian Marussi <cristian.marussi@....com>, 
 Chen Wang <unicorn_wang@...look.com>, Inochi Amaoto <inochiama@...il.com>, 
 Nicolas Ferre <nicolas.ferre@...rochip.com>, 
 Alexandre Belloni <alexandre.belloni@...tlin.com>, 
 Claudiu Beznea <claudiu.beznea@...on.dev>, 
 Paul Cercueil <paul@...pouillou.net>, 
 Keguang Zhang <keguang.zhang@...il.com>, 
 Taichi Sugaya <sugaya.taichi@...ionext.com>, 
 Takao Orito <orito.takao@...ionext.com>, Shawn Guo <shawnguo@...nel.org>, 
 Sascha Hauer <s.hauer@...gutronix.de>, 
 Pengutronix Kernel Team <kernel@...gutronix.de>, 
 Fabio Estevam <festevam@...il.com>, Jacky Huang <ychuang3@...oton.com>, 
 Shan-Chun Hung <schung@...oton.com>, Vladimir Zapolskiy <vz@...ia.com>, 
 Piotr Wojtaszczyk <piotr.wojtaszczyk@...esys.com>, 
 Paul Walmsley <paul.walmsley@...ive.com>, 
 Samuel Holland <samuel.holland@...ive.com>, Yixun Lan <dlan@...too.org>, 
 Steen Hegelund <Steen.Hegelund@...rochip.com>, 
 Daniel Machon <daniel.machon@...rochip.com>, UNGLinuxDriver@...rochip.com, 
 Orson Zhai <orsonzhai@...il.com>, 
 Baolin Wang <baolin.wang@...ux.alibaba.com>, 
 Chunyan Zhang <zhang.lyra@...il.com>, 
 Maxime Coquelin <mcoquelin.stm32@...il.com>, 
 Alexandre Torgue <alexandre.torgue@...s.st.com>, 
 Michal Simek <michal.simek@....com>, Maxime Ripard <mripard@...nel.org>, 
 Andreas Färber <afaerber@...e.de>, 
 Manivannan Sadhasivam <mani@...nel.org>, Sven Peter <sven@...nel.org>, 
 Janne Grunau <j@...nau.net>, Alyssa Rosenzweig <alyssa@...enzweig.io>, 
 Neal Gompa <neal@...pa.dev>, Eugeniy Paltsev <Eugeniy.Paltsev@...opsys.com>, 
 Ray Jui <rjui@...adcom.com>, Scott Branden <sbranden@...adcom.com>, 
 Broadcom internal kernel review list <bcm-kernel-feedback-list@...adcom.com>, 
 Max Filippov <jcmvbkbc@...il.com>, 
 Matthias Brugger <matthias.bgg@...il.com>, 
 AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>, 
 Daniel Palmer <daniel@...ngy.jp>, Romain Perier <romain.perier@...il.com>, 
 Andrew Lunn <andrew@...n.ch>, Gregory Clement <gregory.clement@...tlin.com>, 
 Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>, 
 Bjorn Andersson <andersson@...nel.org>, 
 Geert Uytterhoeven <geert+renesas@...der.be>, 
 Heiko Stuebner <heiko@...ech.de>, 
 Andrea della Porta <andrea.porta@...e.com>, 
 Krzysztof Kozlowski <krzk@...nel.org>, 
 Sylwester Nawrocki <s.nawrocki@...sung.com>, 
 Chanwoo Choi <cw00.choi@...sung.com>, Alim Akhtar <alim.akhtar@...sung.com>, 
 Qin Jian <qinjian@...lus1.com>, Viresh Kumar <vireshk@...nel.org>, 
 Ulf Hansson <ulf.hansson@...aro.org>, 
 Luca Ceresoli <luca.ceresoli@...tlin.com>, 
 Alex Helms <alexander.helms.jy@...esas.com>, 
 Linus Walleij <linus.walleij@...aro.org>, Liviu Dudau <liviu.dudau@....com>, 
 Lorenzo Pieralisi <lpieralisi@...nel.org>, 
 Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@...hiba.co.jp>
Cc: linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org, 
 arm-scmi@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, 
 sophgo@...ts.linux.dev, linux-mips@...r.kernel.org, imx@...ts.linux.dev, 
 linux-riscv@...ts.infradead.org, spacemit@...ts.linux.dev, 
 linux-stm32@...md-mailman.stormreply.com, patches@...nsource.cirrus.com, 
 linux-actions@...ts.infradead.org, asahi@...ts.linux.dev, 
 linux-mediatek@...ts.infradead.org, linux-arm-msm@...r.kernel.org, 
 linux-renesas-soc@...r.kernel.org, linux-rockchip@...ts.infradead.org, 
 linux-samsung-soc@...r.kernel.org, soc@...ts.linux.dev, 
 Brian Masney <bmasney@...hat.com>
Subject: [PATCH 000/114] clk: convert drivers from deprecated round_rate()
 to determine_rate()

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@...hat.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@...hat.com>



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ