Re: [GIT PULL] s390 patches for the 3.10-rc6

From: Geert Uytterhoeven
Date: Tue Jun 18 2013 - 06:08:57 EST


On Thu, Jun 13, 2013 at 4:47 PM, Martin Schwidefsky
<schwidefsky@xxxxxxxxxx> wrote:
> please pull from the 'for-linus' branch of
>
> git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus
>
> to receive the following updates:
>
> Three kvm related memory management fixes, a fix for show_trace,
> a fix for early console output and a patch from Ben to help prevent
> compile errors in regard to irq functions (or our lack thereof).
>
> Ben Hutchings (1):
> s390/pci: Implement IRQ functions if !PCI

> --- a/arch/s390/kernel/irq.c
> +++ b/arch/s390/kernel/irq.c
> @@ -311,3 +311,67 @@ void measurement_alert_subclass_unregister(void)
> spin_unlock(&ma_subclass_lock);
> }
> EXPORT_SYMBOL(measurement_alert_subclass_unregister);
> +
> +void synchronize_irq(unsigned int irq)
> +{
> + /*
> + * Not needed, the handler is protected by a lock and IRQs that occur
> + * after the handler is deleted are just NOPs.
> + */
> +}

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.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/