arm64: Fix UP build warning in gic-v3
Subsystems (2)
PATCH 1/1 arm64: Fix UP build warning in gic-v3
The static routines gic_write_sgi1r() and gic_peek_irq() are only used for SMP builds, so move those two routines to within the defined(CONFIG_SMP) preprocessor conditional.
Fixes build warnings like these when CONFIG_SMP=n:
drivers/irqchip/irq-gic-v3.c: warning: ?gic_write_sgi1r? defined but not used drivers/irqchip/irq-gic-v3.c: warning: ?gic_peek_irq? defined but not used
---
Hi Marc,
I'm not sure if this has gone upstream yet, but I get these warnings with Catalin's current arm64/for-next/core branch.
Feel free to just fold this into your gic-v3 patch if you'll be sending out a new version.
-Geoff
drivers/irqchip/irq-gic-v3.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-)
drivers/irqchip/irq-gic-v3.c +18 -18
@@ -129,11 +129,6 @@ static void gic_write_grpen1(u64 val)isb (); } -static void gic_write_sgi1r (u64 val) -{ - asm volatile("msr_s " __stringify(ICC_SGI1R_EL1) ", %0" : : "r" (val)); -} -static void gic_enable_sre (void ) {u64 val;
@@ -200,19 +195,6 @@ static void gic_poke_irq(struct irq_data *d, u32 offset)rwp_wait (); } -static int gic_peek_irq (struct irq_data *d,u32 offset) -{ -u32 mask =1 << (gic_irq (d) %32 ); -void __iomem *base; - -if (gic_irq_in_rdist (d)) - base =gic_data_rdist_sgi_base (); -else - base = gic_data.dist_base; - -return !!(readl_relaxed (base + offset + (gic_irq (d) /32 ) *4 ) & mask); -} -static void gic_mask_irq (struct irq_data *d) {gic_poke_irq (d,GICD_ICENABLER );
@@ -401,6 +383,24 @@ static void gic_cpu_init(void) }#ifdef CONFIG_SMP +static void gic_write_sgi1r (u64 val) +{ + asm volatile("msr_s " __stringify(ICC_SGI1R_EL1) ", %0" : : "r" (val)); +} + +static int gic_peek_irq (struct irq_data *d,u32 offset) +{ +u32 mask =1 << (gic_irq (d) %32 ); +void __iomem *base; + +if (gic_irq_in_rdist (d)) + base =gic_data_rdist_sgi_base (); +else + base = gic_data.dist_base; + +return !!(readl_relaxed (base + offset + (gic_irq (d) /32 ) *4 ) & mask); +} +static int gic_secondary_init (struct notifier_block *nfb,unsigned long action,void *hcpu) {
Signature · 1 line
1.9.1
PATCH 1/1 arm64: Fix UP build warning in gic-v3
Quoted 10 lines · Geoff Levand
The static routines
gic_write_sgi1r()andgic_peek_irq()are only used for SMP builds, so move those two routines to within thedefined(CONFIG_SMP)preprocessor conditional.Fixes build warnings like these when
CONFIG_SMP=n:
drivers/irqchip/irq-gic-v3.c: warning: ?gic_write_sgi1r? defined but not useddrivers/irqchip/irq-gic-v3.c: warning: ?gic_peek_irq? defined but not usedSigned-off-by Geoff Levand <[email protected]>
Quoted 8 lines
---
Hi Marc,I'm not sure if this has gone upstream yet, but I get these warnings with Catalin's current arm64/for-next/core branch.
Feel free to just fold this into your gic-v3 patch if you'll be sending out a new version.
Hi Geof,
There is a similar patch from Mark Brown on its way (not addressing gic_write_sgi1r though).
Thanks,
M.
Quoted 67 lines
(quoted diff) +0
-1-Geoff drivers/irqchip/irq-gic-v3.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-)drivers/irqchip/irq-gic-v3.c +18
-18@@ -129,11 +129,6 @@ static void gic_write_grpen1(u64 val)isb (); } -static void gic_write_sgi1r (u64 val) -{ - asm volatile("msr_s " __stringify(ICC_SGI1R_EL1) ", %0" : : "r" (val)); -} -static void gic_enable_sre (void ) {u64 val;@@ -200,19 +195,6 @@ static void gic_poke_irq(struct irq_data *d, u32 offset)rwp_wait (); } -static int gic_peek_irq (struct irq_data *d,u32 offset) -{ -u32 mask =1 << (gic_irq (d) %32 ); -void __iomem *base; - -if (gic_irq_in_rdist (d)) - base =gic_data_rdist_sgi_base (); -else - base = gic_data.dist_base; - -return !!(readl_relaxed (base + offset + (gic_irq (d) /32 ) *4 ) & mask); -} -static void gic_mask_irq (struct irq_data *d) {gic_poke_irq (d,GICD_ICENABLER );@@ -401,6 +383,24 @@ static void gic_cpu_init(void) }#ifdef CONFIG_SMP +static void gic_write_sgi1r (u64 val) +{ + asm volatile("msr_s " __stringify(ICC_SGI1R_EL1) ", %0" : : "r" (val)); +} + +static int gic_peek_irq (struct irq_data *d,u32 offset) +{ +u32 mask =1 << (gic_irq (d) %32 ); +void __iomem *base; + +if (gic_irq_in_rdist (d)) + base =gic_data_rdist_sgi_base (); +else + base = gic_data.dist_base; + +return !!(readl_relaxed (base + offset + (gic_irq (d) /32 ) *4 ) & mask); +} +static int gic_secondary_init (struct notifier_block *nfb,unsigned long action,void *hcpu) {
Signature · 1 line
Jazz is not dead. It just smells funny.
PATCH 1/1 arm64: Fix UP build warning in gic-v3
Quoted 2 lines · Marc Zyngier
There is a similar patch from Mark Brown on its way (not addressing
gic_write_sgi1rthough).
Right, I was thinking that was better fixed by making all those
access functions static inline instead, I didn't get round to looking at
that properly yet though so didn't send a patch. Moving the one
accessor function felt like it was the wrong way to go but that's just
taste.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140729/47b161a0/attachment.sig>
PATCH 1/1 arm64: Fix UP build warning in gic-v3
Quoted 10 lines · Mark Brown
Quoted 2 lines · Marc Zyngier
There is a similar patch from Mark Brown on its way (not addressing
gic_write_sgi1rthough).Right, I was thinking that was better fixed by making all those access functions static inline instead, I didn't get round to looking at that properly yet though so didn't send a patch. Moving the one accessor function felt like it was the wrong way to go but that's just taste.
I don't mind either way. As long as no annoying warning is produced, I'm cool with it.
M.
Signature · 1 line
Jazz is not dead. It just smells funny.