Re: [PATCH v9 4/4] clk: meson: add sub MMC clock controller driver
From: Stephen Boyd
Date: Fri Jan 14 2022 - 18:01:34 EST
Quoting Liang Yang (2022-01-13 21:14:46)
> On 2022/1/14 5:35, Stephen Boyd wrote:
> > Quoting Liang Yang (2022-01-13 03:57:45)
> >> diff --git a/drivers/clk/meson/mmc-clkc.c b/drivers/clk/meson/mmc-clkc.c
> >> new file mode 100644
> >> index 000000000000..f53977f61390
> >> --- /dev/null
> >> +++ b/drivers/clk/meson/mmc-clkc.c
> >> @@ -0,0 +1,300 @@
[..]
> >> +
> >> +static int mmc_clkc_probe(struct platform_device *pdev)
> >> +{
> >> + struct clk_hw_onecell_data *onecell_data;
> >> + struct device *dev = &pdev->dev;
> >> + struct mmc_clkc_data *data;
> >> + struct regmap *map;
> >> + struct clk_regmap *clk, *core;
> >> + struct meson_sclk_div_data *div_data;
> >> +
> >> + /*cast to drop the const in match->data*/
> >
> > Space after *, also why do we need to cast away const? The user of this
> > pointer passes it all the way down to mmc_clkc_register_clk() which
> > could take the data as const void pointer and decide to cast away const
> > there.
>
> if use 'const' here, it will report a warning:
> drivers/clk/meson/mmc-clkc.c:224:7: error: assignment discards ‘const’
> qualifier from pointer targe
> t type [-Werror=discarded-qualifiers]
>
> data = (const struct mmc_clkc_data *)of_device_get_match_data(dev);
Of course. The type declaration up above needs const added to it.