diff options
Diffstat (limited to 'arch/microblaze/kernel/irq.c')
-rw-r--r-- | arch/microblaze/kernel/irq.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/microblaze/kernel/irq.c b/arch/microblaze/kernel/irq.c index a9345fb4906a..098822413729 100644 --- a/arch/microblaze/kernel/irq.c +++ b/arch/microblaze/kernel/irq.c | |||
@@ -50,6 +50,7 @@ next_irq: | |||
50 | int show_interrupts(struct seq_file *p, void *v) | 50 | int show_interrupts(struct seq_file *p, void *v) |
51 | { | 51 | { |
52 | int i = *(loff_t *) v, j; | 52 | int i = *(loff_t *) v, j; |
53 | struct irq_desc *desc; | ||
53 | struct irqaction *action; | 54 | struct irqaction *action; |
54 | unsigned long flags; | 55 | unsigned long flags; |
55 | 56 | ||
@@ -61,8 +62,9 @@ int show_interrupts(struct seq_file *p, void *v) | |||
61 | } | 62 | } |
62 | 63 | ||
63 | if (i < nr_irq) { | 64 | if (i < nr_irq) { |
64 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); | 65 | desc = irq_to_desc(i); |
65 | action = irq_desc[i].action; | 66 | raw_spin_lock_irqsave(&desc->lock, flags); |
67 | action = desc->action; | ||
66 | if (!action) | 68 | if (!action) |
67 | goto skip; | 69 | goto skip; |
68 | seq_printf(p, "%3d: ", i); | 70 | seq_printf(p, "%3d: ", i); |
@@ -72,9 +74,9 @@ int show_interrupts(struct seq_file *p, void *v) | |||
72 | for_each_online_cpu(j) | 74 | for_each_online_cpu(j) |
73 | seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); | 75 | seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); |
74 | #endif | 76 | #endif |
75 | seq_printf(p, " %8s", irq_desc[i].status & | 77 | seq_printf(p, " %8s", desc->status & |
76 | IRQ_LEVEL ? "level" : "edge"); | 78 | IRQ_LEVEL ? "level" : "edge"); |
77 | seq_printf(p, " %8s", irq_desc[i].chip->name); | 79 | seq_printf(p, " %8s", desc->irq_data.chip->name); |
78 | seq_printf(p, " %s", action->name); | 80 | seq_printf(p, " %s", action->name); |
79 | 81 | ||
80 | for (action = action->next; action; action = action->next) | 82 | for (action = action->next; action; action = action->next) |
@@ -82,7 +84,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
82 | 84 | ||
83 | seq_putc(p, '\n'); | 85 | seq_putc(p, '\n'); |
84 | skip: | 86 | skip: |
85 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 87 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
86 | } | 88 | } |
87 | return 0; | 89 | return 0; |
88 | } | 90 | } |