On Tue, Jun 18, 2013 at 12:08:51PM +0200, Geert Uytterhoeven wrote:
> On Thu, Jun 13, 2013 at 4:47 PM, Martin Schwidefsky
> allnoconfig:
> 
> arch/s390/kernel/irq.c:315:6: error: expected identifier or '(' before 
> '__asm__'
> http://kisskb.ellerman.id.au/kisskb/buildresult/8987667/
> 
> The function is expanded to:
> 
>     void __asm__ __volatile__("": : :"memory")
>     {
> 
>     }
> 
> include/linux/hardirq.h: # define synchronize_irq(irq)   barrier()
> include/linux/compiler-gcc.h: #define barrier() __asm__
> __volatile__("": : :"memory")
> 
> Turning synchronize_irq() into a static inline function doesn't help as then
> it becomes a redefinition.

We received a patch from Ben which fixes this:

>From 7bf4da5763f30823b4eeb4c82f8499ffe2f475ab Mon Sep 17 00:00:00 2001
From: Ben Hutchings <[email protected]>
Date: Fri, 14 Jun 2013 01:18:44 +0100
Subject: [PATCH] s390/irq: Only define synchronize_irq() on SMP

In uniprocessor configurations, synchronize_irq() is defined in
<linux/hardirq.h> as a macro, and this function definition fails to
compile.

Reported-by: kbuild test robot <[email protected]>
Signed-off-by: Ben Hutchings <[email protected]>
Cc: [email protected] # 3.9
Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
---
 arch/s390/kernel/irq.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c
index 408e866..dd3c199 100644
--- a/arch/s390/kernel/irq.c
+++ b/arch/s390/kernel/irq.c
@@ -312,6 +312,7 @@ void measurement_alert_subclass_unregister(void)
 }
 EXPORT_SYMBOL(measurement_alert_subclass_unregister);
 
+#ifdef CONFIG_SMP
 void synchronize_irq(unsigned int irq)
 {
        /*
@@ -320,6 +321,7 @@ void synchronize_irq(unsigned int irq)
         */
 }
 EXPORT_SYMBOL_GPL(synchronize_irq);
+#endif
 
 #ifndef CONFIG_PCI
 
-- 
1.8.2.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to