diff mbox series

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

Message ID 20241213145809.2918-2-ubizjak@gmail.com (mailing list archive)
State New
Headers show
Series [1/3] KVM: arm64: timers: Fix percpu address space issues in kvm_timer_hyp_init() | expand

Commit Message

Uros Bizjak Dec. 13, 2024, 2:57 p.m. UTC
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(-)

Comments

Marc Zyngier Dec. 13, 2024, 5:05 p.m. UTC | #1
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.
diff mbox series

Patch

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 {