Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fixes from Thomas Gleixner:
 - Correction of fuzzy and fragile IRQ_RETVAL macro
 - IRQ related resume fix affecting only XEN
 - ARM/GIC fix for chained GIC controllers

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip: Gic: fix boot for chained gics
  irq: Enable all irqs unconditionally in irq_resume
  genirq: Correct fuzzy and fragile IRQ_RETVAL() definition
This commit is contained in:
Linus Torvalds 2013-12-02 10:15:39 -08:00
commit a45299e727
3 changed files with 7 additions and 6 deletions

View File

@ -957,12 +957,13 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start,
if (WARN_ON(!gic->domain)) if (WARN_ON(!gic->domain))
return; return;
if (gic_nr == 0) {
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
set_smp_cross_call(gic_raise_softirq); set_smp_cross_call(gic_raise_softirq);
register_cpu_notifier(&gic_cpu_notifier); register_cpu_notifier(&gic_cpu_notifier);
#endif #endif
set_handle_irq(gic_handle_irq);
set_handle_irq(gic_handle_irq); }
gic_chip.flags |= gic_arch_extn.flags; gic_chip.flags |= gic_arch_extn.flags;
gic_dist_init(gic); gic_dist_init(gic);

View File

@ -14,6 +14,6 @@ enum irqreturn {
}; };
typedef enum irqreturn irqreturn_t; typedef enum irqreturn irqreturn_t;
#define IRQ_RETVAL(x) ((x) != IRQ_NONE) #define IRQ_RETVAL(x) ((x) ? IRQ_HANDLED : IRQ_NONE)
#endif #endif

View File

@ -50,7 +50,7 @@ static void resume_irqs(bool want_early)
bool is_early = desc->action && bool is_early = desc->action &&
desc->action->flags & IRQF_EARLY_RESUME; desc->action->flags & IRQF_EARLY_RESUME;
if (is_early != want_early) if (!is_early && want_early)
continue; continue;
raw_spin_lock_irqsave(&desc->lock, flags); raw_spin_lock_irqsave(&desc->lock, flags);