Re: [linux-next:master 9019/10049] drivers/irqchip/irq-gic-v3.c:47:23: warning: 'broken_rdists' defined but not used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 04, 2024 at 10:05:05AM +0100, Marc Zyngier wrote:
> On Thu, 04 Jul 2024 09:52:16 +0100,
> Catalin Marinas <catalin.marinas@xxxxxxx> wrote:
> > 
> > On Tue, Jul 02, 2024 at 06:40:12PM +0800, kernel test robot wrote:
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > > head:   82e4255305c554b0bb18b7ccf2db86041b4c8b6e
> > > commit: d633da5d3ab1a0eb26a2213d65da1e189e82f8ab [9019/10049] irqchip/gic-v3: Add support for ACPI's disabled but 'online capable' CPUs
> > > config: arm-randconfig-r034-20220810 (https://download.01.org/0day-ci/archive/20240702/202407021807.cBuWVBVa-lkp@xxxxxxxxx/config)
> > > compiler: arm-linux-gnueabi-gcc (GCC) 13.2.0
> > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240702/202407021807.cBuWVBVa-lkp@xxxxxxxxx/reproduce)
> > > 
> > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > the same patch/commit), kindly add following tags
> > > | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202407021807.cBuWVBVa-lkp@xxxxxxxxx/
> > > 
> > > All warnings (new ones prefixed by >>):
> > > 
> > > >> drivers/irqchip/irq-gic-v3.c:47:23: warning: 'broken_rdists' defined but not used [-Wunused-variable]
> > >       47 | static struct cpumask broken_rdists __read_mostly;
> > >          |                       ^~~~~~~~~~~~~
> > > 
> > > 
> > > vim +/broken_rdists +47 drivers/irqchip/irq-gic-v3.c
> > 
> > This can happen when building on arm32 with SMP disabled. So we either
> > add a __maybe_unused annotation or we move the variable further down in
> > the CONFIG_SMP block. Marc, what's your preference?
> > 
> > -----------8<----------------------
> > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> > index c29b424d1d0c..6393f3d780e9 100644
> > --- a/drivers/irqchip/irq-gic-v3.c
> > +++ b/drivers/irqchip/irq-gic-v3.c
> > @@ -47,7 +47,7 @@ static u8 dist_prio_nmi __ro_after_init = GICV3_PRIO_NMI;
> >  
> >  #define GIC_IRQ_TYPE_PARTITION	(GIC_IRQ_TYPE_LPI + 1)
> >  
> > -static struct cpumask broken_rdists __read_mostly;
> > +static struct cpumask broken_rdists __read_mostly __maybe_unused;
> >  
> >  struct redist_region {
> >  	void __iomem		*redist_base;
> > -----------8<----------------------
> > 
> > or,
> > 
> > -----------8<----------------------
> > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> > index c29b424d1d0c..187948f41bb3 100644
> > --- a/drivers/irqchip/irq-gic-v3.c
> > +++ b/drivers/irqchip/irq-gic-v3.c
> > @@ -47,8 +47,6 @@ static u8 dist_prio_nmi __ro_after_init = GICV3_PRIO_NMI;
> >  
> >  #define GIC_IRQ_TYPE_PARTITION	(GIC_IRQ_TYPE_LPI + 1)
> >  
> > -static struct cpumask broken_rdists __read_mostly;
> > -
> >  struct redist_region {
> >  	void __iomem		*redist_base;
> >  	phys_addr_t		phys_base;
> > @@ -1316,6 +1314,8 @@ static void gic_cpu_init(void)
> >  
> >  #ifdef CONFIG_SMP
> >  
> > +static struct cpumask broken_rdists __read_mostly;
> > +
> >  #define MPIDR_TO_SGI_RS(mpidr)	(MPIDR_RS(mpidr) << ICC_SGI1R_RS_SHIFT)
> >  #define MPIDR_TO_SGI_CLUSTER_ID(mpidr)	((mpidr) & ~0xFUL)
> 
> The second version seems to be the most logical one, since we already
> have this SMP-only block (note to self: constraint GICv3 support to
> SMP only at the earliest opportunity).
> 
> Feel free to add my
> 
> Acked-by: Marc Zyngier <maz@xxxxxxxxxx>
> 
> if you decide to push a fix on top of this branch.

Ah, it's also used in the CONFIG_ACPI block further down. So
__maybe_unused may be easier. Or add some #if defined(CONFIG_SMP) ||
defined(CONFIG_ACPI) but it seems too verbose.

-- 
Catalin




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux