Re: [PATCH 03/18] clk: meson: migrate a1 clock drivers out of hw_onecell_data to drop NR_CLKS

From: Jerome Brunet
Date: Thu Jun 08 2023 - 08:46:47 EST


>
> +struct meson_a1_pll_clks {
> + struct clk_hw **hw_clks;
> + unsigned int hw_clk_num;
> +};
> +
> +static struct meson_a1_pll_clks a1_pll_clks = {
> + .hw_clks = a1_pll_hw_clks,
> + .hw_clk_num = ARRAY_SIZE(a1_pll_hw_clks),
> +};
> +
> +static struct clk_hw *meson_a1_pll_hw_get(struct of_phandle_args *clkspec, void *clk_data)
> +{
> + const struct meson_a1_pll_clks *data = clk_data;
> + unsigned int idx = clkspec->args[0];
> +
> + if (idx >= data->hw_clk_num) {
> + pr_err("%s: invalid index %u\n", __func__, idx);
> + return ERR_PTR(-EINVAL);
> + }
> +
> + return data->hw_clks[idx];
> +}

I'd prefer to have a single struct type and and single custom
callback for the different SoC please.