Re: [PATCH] clk: ralink: mtmips: quiet unused variable warning

From: Sergio Paracuellos
Date: Sat Aug 26 2023 - 21:24:47 EST


Hi Arnd,

Sorry for the late response. I was on a family vacation trip.

On Thu, Aug 3, 2023 at 9:58 AM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
> On Thu, Aug 3, 2023, at 00:35, Sergio Paracuellos wrote:
> > Hi Arnd.
> >
> > El El jue, 3 ago 2023 a las 0:02, Arnd Bergmann <arnd@xxxxxxxxxx> escribió:
> >> On Wed, Aug 2, 2023, at 23:26, Nick Desaulniers wrote:
> >> > On Wed, Aug 2, 2023 at 2:26 AM Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx> wrote:
> >> >>
> >> >> When CONFIG_OF is disabled then the matching table is not referenced and
> >> >> the following warning appears:
> >> >>
> >> >> drivers/clk/ralink/clk-mtmips.c:821:34: warning: unused variable 'mtmips_of_match' [-Wunused-const-variable]
> >> >> 821 | static const struct of_device_id mtmips_of_match[] = {
> >> >> | ^
> >> >>
> >> >> Silence it declaring 'mtmips_of_match' with '__maybe_unused'.
> >> >>
> >> >> Fixes: 6f3b15586eef ("clk: ralink: add clock and reset driver for MTMIPS SoCs")
> >> >> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >> >> Closes: https://lore.kernel.org/oe-kbuild-all/202307242310.CdOnd2py-lkp@xxxxxxxxx/
> >> >> Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>
> >> >
> >> > I think this is fine; Arnd or Nathan do you have a preference? or thoughts here?
> >> >
> >> > If not, thanks for the patch.
> >> > Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> >> >
> >> > (I have a slight preference for wrapping the use in `#ifdef CONFIG_OF`
> >> > since with the approach used by this patch, if all users are removed
> >> > we will never get a warning for this var. But it's a weak preference;
> >> > it's more important to me that we don't have -Werror promote this
> >> > warning to a build breakage)
> >>
> >> I don't understand why there are two match tables in the same
> >> driver, with almost the same contents. I have not looked very
> >> closely here, but why can't we just drop the mtmips_clk_of_match[]
> >> table (the one without the .data fields) and use the same
> >> table for both? Is this because of the ralink,rt2880-reset entry
> >> that is missing in mtmips_of_match, or is that another bug?
> >
> > ralink,rt2880-reset is for old dts compatibility and only applies to
> > reset driver. The one with data fields apply for clocks and is needed.
>
> Ok, I see. It still looks like the two tables can simply be
> merged by adding the ralink,rt2880-reset entry to mtmips_of_match[],
> which will allow it to be used for mtmips_clk_driver (which doesn't
> use the data) as well as for mtmips_clk_init() (which doesn't
> need get called for ralink,rt2880-reset).

I think I see your point, thank you. I'll do some test with this
approach and will send a new patch properly addressing this.

Thanks,
Sergio Paracuellos

>
> >> I also see that there is both a platform_driver instance for
> >> late probing and a list of CLK_OF_DECLARE_DRIVER() entries.
> >> Do we need both here?
> >
> > This system controller driver provide clock and reset controllers.
> > Clock cannot be a platform driver since we need to set
> > mips_hpr_frequency at a very early sargento. Reset stuff can be a
> > platform driver so both of them are needed.
>
> Arnd