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, 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.

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.




[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