Skip to contentSkip to conversation

arm64: Fix UP build warning in gic-v3

PATCH New Geoff Levand 3 participants 4 messages Jul 28, 2014 – Jul 29, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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
index 57eaa5a..e9ee18a 100644
@@ -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
#1 lore raw

PATCH 1/1 arm64: Fix UP build warning in gic-v3

Quoted 10 lines · Geoff Levand

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

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
index 57eaa5a..e9ee18a 100644
@@ -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.
#2 lore raw

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_sgi1r though).

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>

#3 lore raw

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_sgi1r though).

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.