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

From: Nathan Chancellor
Date: Wed Aug 02 2023 - 17:32:14 EST


On Wed, Aug 02, 2023 at 02:26:43PM -0700, 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?

I do not have much of a preference either, I tend to agree with your
reasoning for preferring the #ifdef but '__maybe_unused' is relatively
easy to audit on a per-file basis and I think that is more common than
the '#ifdef CONFIG_OF'.

Small nit, I think __maybe_unused typically goes between the variable
name and equals, like

static const struct of_device_id mtmips_of_match[] __maybe_unused = {

but this is obviously fine. Regardless:

Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>

> 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)
>
> > ---
> > drivers/clk/ralink/clk-mtmips.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/clk/ralink/clk-mtmips.c b/drivers/clk/ralink/clk-mtmips.c
> > index 1e7991439527..6716394b28a3 100644
> > --- a/drivers/clk/ralink/clk-mtmips.c
> > +++ b/drivers/clk/ralink/clk-mtmips.c
> > @@ -820,7 +820,7 @@ static const struct mtmips_clk_data mt76x8_clk_data = {
> > .num_clk_periph = ARRAY_SIZE(mt76x8_pherip_clks),
> > };
> >
> > -static const struct of_device_id mtmips_of_match[] = {
> > +static const __maybe_unused struct of_device_id mtmips_of_match[] = {
> > {
> > .compatible = "ralink,rt2880-sysc",
> > .data = &rt2880_clk_data,
> > --
> > 2.25.1
> >
>
>
> --
> Thanks,
> ~Nick Desaulniers