From: Linus Torvalds Date: Sun, 2 Jul 2006 22:07:45 +0000 (-0700) Subject: Merge branch 'genirq' of master.kernel.org:/home/rmk/linux-2.6-arm X-Git-Tag: v2.6.18-rc1~144 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=b4b9034132c7e1e4474999e688dd7d03b7d97a99;p=linux-2.6-omap-h63xx.git Merge branch 'genirq' of master.kernel.org:/home/rmk/linux-2.6-arm * 'genirq' of master.kernel.org:/home/rmk/linux-2.6-arm: (24 commits) [ARM] 3683/2: ARM: Convert at91rm9200 to generic irq handling [ARM] 3682/2: ARM: Convert ixp4xx to generic irq handling [ARM] 3702/1: ARM: Convert ixp23xx to generic irq handling [ARM] 3701/1: ARM: Convert plat-omap to generic irq handling [ARM] 3700/1: ARM: Convert lh7a40x to generic irq handling [ARM] 3699/1: ARM: Convert s3c2410 to generic irq handling [ARM] 3698/1: ARM: Convert sa1100 to generic irq handling [ARM] 3697/1: ARM: Convert shark to generic irq handling [ARM] 3696/1: ARM: Convert clps711x to generic irq handling [ARM] 3694/1: ARM: Convert ecard driver to generic irq handling [ARM] 3693/1: ARM: Convert omap1 to generic irq handling [ARM] 3691/1: ARM: Convert imx to generic irq handling [ARM] 3688/1: ARM: Convert clps7500 to generic irq handling [ARM] 3687/1: ARM: Convert integrator to generic irq handling [ARM] 3685/1: ARM: Convert pxa to generic irq handling [ARM] 3684/1: ARM: Convert l7200 to generic irq handling [ARM] 3681/1: ARM: Convert ixp2000 to generic irq handling [ARM] 3680/1: ARM: Convert footbridge to generic irq handling [ARM] 3695/1: ARM drivers/pcmcia: Fixup includes [ARM] 3689/1: ARM drivers/input/touchscreen: Fixup includes ... Manual conflict resolved in kernel/irq/handle.c (butt-ugly ARM tickless code). --- b4b9034132c7e1e4474999e688dd7d03b7d97a99 diff --cc kernel/irq/handle.c index 6070e046469,e71266c3803..6d8b3011496 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c @@@ -113,7 -133,16 +133,16 @@@ irqreturn_t handle_IRQ_event(unsigned i irqreturn_t ret, retval = IRQ_NONE; unsigned int status = 0; + #if defined(CONFIG_NO_IDLE_HZ) && defined(CONFIG_ARM) + if (!(action->flags & SA_TIMER) && system_timer->dyn_tick != NULL) { + write_seqlock(&xtime_lock); + if (system_timer->dyn_tick->state & DYN_TICK_ENABLED) + system_timer->dyn_tick->handler(irq, 0, regs); + write_sequnlock(&xtime_lock); + } + #endif + - if (!(action->flags & SA_INTERRUPT)) + if (!(action->flags & IRQF_DISABLED)) local_irq_enable(); do {