Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c86defc8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'irq-final-for-linus-v2' of...

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

* 'irq-final-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (111 commits)
  gpio: ab8500: Mark broken
  genirq: Remove move_*irq leftovers
  genirq: Remove compat code
  drivers: Final irq namespace conversion
  mn10300: Use generic show_interrupts()
  mn10300: Cleanup irq_desc access
  mn10300: Convert genirq namespace
  frv: Use generic show_interrupts()
  frv: Convert genirq namespace
  frv: Select GENERIC_HARDIRQS_NO_DEPRECATED
  frv: Convert cpu irq_chip to new functions
  frv: Convert mb93493 irq_chip to new functions
  frv: Convert mb93093 irq_chip to new function
  frv: Convert mb93091 irq_chip to new functions
  frv: Fix typo from __do_IRQ overhaul
  frv: Remove stale irq_chip.end
  m68k: Convert irq function namespace
  xen: Use new irq_move functions
  xen: Cleanup genirq namespace
  unicore32: Use generic show_interrupts()
  ...
parents 1309d7af 9ad198cb
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -11,6 +11,7 @@ config ALPHA
	select HAVE_GENERIC_HARDIRQS
	select HAVE_GENERIC_HARDIRQS
	select GENERIC_IRQ_PROBE
	select GENERIC_IRQ_PROBE
	select AUTO_IRQ_AFFINITY if SMP
	select AUTO_IRQ_AFFINITY if SMP
	select GENERIC_IRQ_SHOW
	select GENERIC_HARDIRQS_NO_DEPRECATED
	select GENERIC_HARDIRQS_NO_DEPRECATED
	help
	help
	  The Alpha is a 64-bit general-purpose processor designed and
	  The Alpha is a 64-bit general-purpose processor designed and
+10 −57
Original line number Original line Diff line number Diff line
@@ -67,56 +67,10 @@ int irq_select_affinity(unsigned int irq)
}
}
#endif /* CONFIG_SMP */
#endif /* CONFIG_SMP */


int
int arch_show_interrupts(struct seq_file *p, int prec)
show_interrupts(struct seq_file *p, void *v)
{
{
	int j;
	int j;
	int irq = *(loff_t *) v;
	struct irqaction * action;
	struct irq_desc *desc;
	unsigned long flags;


#ifdef CONFIG_SMP
	if (irq == 0) {
		seq_puts(p, "           ");
		for_each_online_cpu(j)
			seq_printf(p, "CPU%d       ", j);
		seq_putc(p, '\n');
	}
#endif

	if (irq < ACTUAL_NR_IRQS) {
		desc = irq_to_desc(irq);

		if (!desc)
			return 0;

		raw_spin_lock_irqsave(&desc->lock, flags);
		action = desc->action;
		if (!action) 
			goto unlock;
		seq_printf(p, "%3d: ", irq);
#ifndef CONFIG_SMP
		seq_printf(p, "%10u ", kstat_irqs(irq));
#else
		for_each_online_cpu(j)
			seq_printf(p, "%10u ", kstat_irqs_cpu(irq, j));
#endif
		seq_printf(p, " %14s", get_irq_desc_chip(desc)->name);
		seq_printf(p, "  %c%s",
			(action->flags & IRQF_DISABLED)?'+':' ',
			action->name);

		for (action=action->next; action; action = action->next) {
			seq_printf(p, ", %c%s",
				  (action->flags & IRQF_DISABLED)?'+':' ',
				   action->name);
		}

		seq_putc(p, '\n');
unlock:
		raw_spin_unlock_irqrestore(&desc->lock, flags);
	} else if (irq == ACTUAL_NR_IRQS) {
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
	seq_puts(p, "IPI: ");
	seq_puts(p, "IPI: ");
	for_each_online_cpu(j)
	for_each_online_cpu(j)
@@ -128,7 +82,6 @@ show_interrupts(struct seq_file *p, void *v)
		seq_printf(p, "%10lu ", per_cpu(irq_pmi_count, j));
		seq_printf(p, "%10lu ", per_cpu(irq_pmi_count, j));
	seq_puts(p, "          Performance Monitoring\n");
	seq_puts(p, "          Performance Monitoring\n");
	seq_printf(p, "ERR: %10lu\n", irq_err_count);
	seq_printf(p, "ERR: %10lu\n", irq_err_count);
	}
	return 0;
	return 0;
}
}


+1 −1
Original line number Original line Diff line number Diff line
@@ -228,7 +228,7 @@ struct irqaction timer_irqaction = {
void __init
void __init
init_rtc_irq(void)
init_rtc_irq(void)
{
{
	set_irq_chip_and_handler_name(RTC_IRQ, &no_irq_chip,
	irq_set_chip_and_handler_name(RTC_IRQ, &no_irq_chip,
				      handle_simple_irq, "RTC");
				      handle_simple_irq, "RTC");
	setup_irq(RTC_IRQ, &timer_irqaction);
	setup_irq(RTC_IRQ, &timer_irqaction);
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -92,7 +92,7 @@ init_i8259a_irqs(void)
	outb(0xff, 0xA1);	/* mask all of 8259A-2 */
	outb(0xff, 0xA1);	/* mask all of 8259A-2 */


	for (i = 0; i < 16; i++) {
	for (i = 0; i < 16; i++) {
		set_irq_chip_and_handler(i, &i8259a_irq_type, handle_level_irq);
		irq_set_chip_and_handler(i, &i8259a_irq_type, handle_level_irq);
	}
	}


	setup_irq(2, &cascade);
	setup_irq(2, &cascade);
+1 −1
Original line number Original line Diff line number Diff line
@@ -102,7 +102,7 @@ init_pyxis_irqs(unsigned long ignore_mask)
	for (i = 16; i < 48; ++i) {
	for (i = 16; i < 48; ++i) {
		if ((ignore_mask >> i) & 1)
		if ((ignore_mask >> i) & 1)
			continue;
			continue;
		set_irq_chip_and_handler(i, &pyxis_irq_type, handle_level_irq);
		irq_set_chip_and_handler(i, &pyxis_irq_type, handle_level_irq);
		irq_set_status_flags(i, IRQ_LEVEL);
		irq_set_status_flags(i, IRQ_LEVEL);
	}
	}


Loading