[PATCH v4 8/9] clk: divider, gate: create regmap-backed copies of gate and divider clocks
Gabriel FERNANDEZ
gabriel.fernandez at foss.st.com
Tue Sep 2 07:05:21 PDT 2025
On 9/1/25 13:04, Conor Dooley wrote:
> From: Conor Dooley <conor.dooley at microchip.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 at microchip.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 at foss.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);
> +
More information about the linux-riscv
mailing list