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 |
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 --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 {
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(-)