Commit 0310e437 authored by Linus Torvalds's avatar Linus Torvalds

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

* 'um-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  um: Select GENERIC_HARDIRQS_NO_DEPRECATED
  um: Use proper accessors in show_interrupts()
  um: Convert irq_chips to new functions
  um: Remove stale irq_chip.end
parents 5f6fb454 53c39ce5
...@@ -7,6 +7,7 @@ config UML ...@@ -7,6 +7,7 @@ config UML
bool bool
default y default y
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select GENERIC_HARDIRQS_NO_DEPRECATED
config MMU config MMU
bool bool
......
...@@ -35,8 +35,10 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -35,8 +35,10 @@ int show_interrupts(struct seq_file *p, void *v)
} }
if (i < NR_IRQS) { if (i < NR_IRQS) {
raw_spin_lock_irqsave(&irq_desc[i].lock, flags); struct irq_desc *desc = irq_to_desc(i);
action = irq_desc[i].action;
raw_spin_lock_irqsave(&desc->lock, flags);
action = desc->action;
if (!action) if (!action)
goto skip; goto skip;
seq_printf(p, "%3d: ",i); seq_printf(p, "%3d: ",i);
...@@ -46,7 +48,7 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -46,7 +48,7 @@ int show_interrupts(struct seq_file *p, void *v)
for_each_online_cpu(j) for_each_online_cpu(j)
seq_printf(p, "%10u ", kstat_irqs_cpu(i, j)); seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
#endif #endif
seq_printf(p, " %14s", irq_desc[i].chip->name); seq_printf(p, " %14s", get_irq_desc_chip(desc)->name);
seq_printf(p, " %s", action->name); seq_printf(p, " %s", action->name);
for (action=action->next; action; action = action->next) for (action=action->next; action; action = action->next)
...@@ -54,7 +56,7 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -54,7 +56,7 @@ int show_interrupts(struct seq_file *p, void *v)
seq_putc(p, '\n'); seq_putc(p, '\n');
skip: skip:
raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); raw_spin_unlock_irqrestore(&desc->lock, flags);
} else if (i == NR_IRQS) } else if (i == NR_IRQS)
seq_putc(p, '\n'); seq_putc(p, '\n');
...@@ -360,10 +362,10 @@ EXPORT_SYMBOL(um_request_irq); ...@@ -360,10 +362,10 @@ EXPORT_SYMBOL(um_request_irq);
EXPORT_SYMBOL(reactivate_fd); EXPORT_SYMBOL(reactivate_fd);
/* /*
* irq_chip must define (startup || enable) && * irq_chip must define at least enable/disable and ack when
* (shutdown || disable) && end * the edge handler is used.
*/ */
static void dummy(unsigned int irq) static void dummy(struct irq_data *d)
{ {
} }
...@@ -371,20 +373,17 @@ static void dummy(unsigned int irq) ...@@ -371,20 +373,17 @@ static void dummy(unsigned int irq)
static struct irq_chip normal_irq_type = { static struct irq_chip normal_irq_type = {
.name = "SIGIO", .name = "SIGIO",
.release = free_irq_by_irq_and_dev, .release = free_irq_by_irq_and_dev,
.disable = dummy, .irq_disable = dummy,
.enable = dummy, .irq_enable = dummy,
.ack = dummy, .irq_ack = dummy,
.end = dummy
}; };
static struct irq_chip SIGVTALRM_irq_type = { static struct irq_chip SIGVTALRM_irq_type = {
.name = "SIGVTALRM", .name = "SIGVTALRM",
.release = free_irq_by_irq_and_dev, .release = free_irq_by_irq_and_dev,
.shutdown = dummy, /* never called */ .irq_disable = dummy,
.disable = dummy, .irq_enable = dummy,
.enable = dummy, .irq_ack = dummy,
.ack = dummy,
.end = dummy
}; };
void __init init_IRQ(void) void __init init_IRQ(void)
......
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