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 <ben@xxxxxxxxxxxxxxx> 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 <fengguang.wu@xxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.9 Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> --- 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-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html