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

Marc Zyngier
2024-12-13T17:05:06Z

On Fri, 13 Dec 2024 14:57:53 +0000,
Uros Bizjak <ubizjak@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@gmail.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Thomas Gleixner <tglx@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@kernel.org>

M.

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