[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9b669562-ee52-47b6-856e-3184b3e89d28@foss.st.com>
Date: Tue, 2 Sep 2025 16:05:21 +0200
From: Gabriel FERNANDEZ <gabriel.fernandez@...s.st.com>
To: Conor Dooley <conor@...nel.org>, <sboyd@...nel.org>
CC: Conor Dooley <conor.dooley@...rochip.com>,
Daire McNamara
<daire.mcnamara@...rochip.com>,
<pierre-henry.moussay@...rochip.com>,
<valentina.fernandezalanis@...rochip.com>,
Michael Turquette
<mturquette@...libre.com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski
<krzk+dt@...nel.org>,
Jassi Brar <jassisinghbrar@...il.com>, Lee Jones
<lee@...nel.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt
<palmer@...belt.com>,
Philipp Zabel <p.zabel@...gutronix.de>,
<linux-riscv@...ts.infradead.org>, <linux-clk@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 8/9] clk: divider, gate: create regmap-backed copies of
gate and divider clocks
On 9/1/25 13:04, Conor Dooley wrote:
> From: Conor Dooley <conor.dooley@...rochip.com>
>
> Implement regmap-backed copies of gate and divider clocks by replacing
> the iomem pointer to the clock registers with a regmap and offset
> within.
>
> Signed-off-by: Conor Dooley <conor.dooley@...rochip.com>
> ---
> v4:
> - increase map_offset to a u32
> - use a single Kconfig option for both divider and gate regmap
> implementations
> ---
> drivers/clk/Kconfig | 4 +
> drivers/clk/Makefile | 2 +
> drivers/clk/clk-divider-regmap.c | 271 +++++++++++++++++++++++++++++++
> drivers/clk/clk-gate-regmap.c | 254 +++++++++++++++++++++++++++++
> include/linux/clk-provider.h | 119 ++++++++++++++
> 5 files changed, 650 insertions(+)
> create mode 100644 drivers/clk/clk-divider-regmap.c
> create mode 100644 drivers/clk/clk-gate-regmap.c
>
Hi Conor,
i tested the clk_gate_remap part with my code, it works fine.
Just a minor remark concerning .round_rate, you can add my
Reviewed-by: Gabriel Fernandez <gabriel.fernandez@...s.st.com>
> +const struct clk_ops clk_divider_regmap_ops = {
> + .recalc_rate = clk_divider_regmap_recalc_rate,
> + .round_rate = clk_divider_regmap_round_rate,
.round_rate could be removed ?
> + .determine_rate = clk_divider_regmap_determine_rate,
> + .set_rate = clk_divider_regmap_set_rate,
> +};
> +EXPORT_SYMBOL_GPL(clk_divider_regmap_ops);
> +
> +const struct clk_ops clk_divider_regmap_ro_ops = {
> + .recalc_rate = clk_divider_regmap_recalc_rate,
> + .round_rate = clk_divider_regmap_round_rate,
dito
> + .determine_rate = clk_divider_regmap_determine_rate,
> +};
> +EXPORT_SYMBOL_GPL(clk_divider_regmap_ro_ops);
> +
Powered by blists - more mailing lists