[PATCH 2/3] irqchip/gic: Correct declaration of *percpu_base pointer in union gic_base

Marc Zyngier maz at kernel.org
Fri Dec 13 09:05:03 PST 2024


On Fri, 13 Dec 2024 14:57:53 +0000,
Uros Bizjak <ubizjak at gmail.com> wrote:
> 
> percpu_base is used in various percpu functions that expect variable in
> __percpu address space. Correct the declaration of percpu_base to
> 
> void __iomem * __percpu *percpu_base;
> 
> to declare the variable as __percpu pointer.
> 
> The patch fixes several sparse warnings:
> 
> irq-gic.c:1172:44: warning: incorrect type in assignment (different address spaces)
> irq-gic.c:1172:44:    expected void [noderef] __percpu *[noderef] __iomem *percpu_base
> irq-gic.c:1172:44:    got void [noderef] __iomem *[noderef] __percpu *
> ...
> irq-gic.c:1184:26: warning: incorrect type in initializer (different address spaces)
> irq-gic.c:1184:26:    expected void const [noderef] __percpu *__vpp_verify
> irq-gic.c:1184:26:    got void [noderef] __percpu *[noderef] __iomem *
> ...
> irq-gic.c:1184:71: warning: incorrect type in assignment (different address spaces)
> irq-gic.c:1184:71:    expected void [noderef] __percpu *
> irq-gic.c:1184:71:    got void [noderef] __iomem *
> ...
> irq-gic.c:1231:43: warning: incorrect type in argument 1 (different address spaces)
> irq-gic.c:1231:43:    expected void [noderef] __percpu *__pdata
> irq-gic.c:1231:43:    got void [noderef] __percpu *[noderef] __iomem *percpu_base
> 
> There were no changes in the resulting object files.
> 
> Signed-off-by: Uros Bizjak <ubizjak at gmail.com>
> Cc: Marc Zyngier <maz at kernel.org>
> Cc: Thomas Gleixner <tglx at linutronix.de>
> ---
>  drivers/irqchip/irq-gic.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
> index 8fae6dc01024..6503573557fd 100644
> --- a/drivers/irqchip/irq-gic.c
> +++ b/drivers/irqchip/irq-gic.c
> @@ -64,7 +64,7 @@ static void gic_check_cpu_features(void)
>  
>  union gic_base {
>  	void __iomem *common_base;
> -	void __percpu * __iomem *percpu_base;
> +	void __iomem * __percpu *percpu_base;
>  };
>  
>  struct gic_chip_data {

Acked-by: Marc Zyngier <maz at kernel.org>

	M.

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



More information about the linux-arm-kernel mailing list