[PATCH 03/18] clk: meson: migrate a1 clock drivers out of hw_onecell_data to drop NR_CLKS
Jerome Brunet
jbrunet at baylibre.com
Thu Jun 8 05:45:29 PDT 2023
>
> +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.
More information about the linux-arm-kernel
mailing list