Commit d6d61c97 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'irq-fixes-for-linus' of...

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

* 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  xtensa: Fixup irq conversion fallout and nmi_count
parents 91e8549b 2ea4db65
...@@ -64,47 +64,41 @@ asmlinkage void do_IRQ(int irq, struct pt_regs *regs) ...@@ -64,47 +64,41 @@ asmlinkage void do_IRQ(int irq, struct pt_regs *regs)
int arch_show_interrupts(struct seq_file *p, int prec) int arch_show_interrupts(struct seq_file *p, int prec)
{ {
int j;
seq_printf(p, "%*s: ", prec, "NMI");
for_each_online_cpu(j)
seq_printf(p, "%10u ", nmi_count(j));
seq_putc(p, '\n');
seq_printf(p, "%*s: ", prec, "ERR"); seq_printf(p, "%*s: ", prec, "ERR");
seq_printf(p, "%10u\n", atomic_read(&irq_err_count)); seq_printf(p, "%10u\n", atomic_read(&irq_err_count));
return 0; return 0;
} }
static void xtensa_irq_mask(struct irq_chip *d) static void xtensa_irq_mask(struct irq_data *d)
{ {
cached_irq_mask &= ~(1 << d->irq); cached_irq_mask &= ~(1 << d->irq);
set_sr (cached_irq_mask, INTENABLE); set_sr (cached_irq_mask, INTENABLE);
} }
static void xtensa_irq_unmask(struct irq_chip *d) static void xtensa_irq_unmask(struct irq_data *d)
{ {
cached_irq_mask |= 1 << d->irq; cached_irq_mask |= 1 << d->irq;
set_sr (cached_irq_mask, INTENABLE); set_sr (cached_irq_mask, INTENABLE);
} }
static void xtensa_irq_enable(struct irq_chip *d) static void xtensa_irq_enable(struct irq_data *d)
{ {
variant_irq_enable(d->irq); variant_irq_enable(d->irq);
xtensa_irq_unmask(d->irq); xtensa_irq_unmask(d->irq);
} }
static void xtensa_irq_disable(struct irq_chip *d) static void xtensa_irq_disable(struct irq_data *d)
{ {
xtensa_irq_mask(d->irq); xtensa_irq_mask(d->irq);
variant_irq_disable(d->irq); variant_irq_disable(d->irq);
} }
static void xtensa_irq_ack(struct irq_chip *d) static void xtensa_irq_ack(struct irq_data *d)
{ {
set_sr(1 << d->irq, INTCLEAR); set_sr(1 << d->irq, INTCLEAR);
} }
static int xtensa_irq_retrigger(struct irq_chip *d) static int xtensa_irq_retrigger(struct irq_data *d)
{ {
set_sr (1 << d->irq, INTSET); set_sr (1 << d->irq, INTSET);
return 1; return 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment