diff options
| -rw-r--r-- | arch/score/kernel/irq.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/arch/score/kernel/irq.c b/arch/score/kernel/irq.c index 47647dde09ca..ee68ec633242 100644 --- a/arch/score/kernel/irq.c +++ b/arch/score/kernel/irq.c | |||
| @@ -52,9 +52,9 @@ asmlinkage void do_IRQ(int irq) | |||
| 52 | irq_exit(); | 52 | irq_exit(); |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | static void score_mask(unsigned int irq_nr) | 55 | static void score_mask(struct irq_data *d) |
| 56 | { | 56 | { |
| 57 | unsigned int irq_source = 63 - irq_nr; | 57 | unsigned int irq_source = 63 - d->irq; |
| 58 | 58 | ||
| 59 | if (irq_source < 32) | 59 | if (irq_source < 32) |
| 60 | __raw_writel((__raw_readl(SCORE_PIC + INT_MASKL) | \ | 60 | __raw_writel((__raw_readl(SCORE_PIC + INT_MASKL) | \ |
| @@ -64,9 +64,9 @@ static void score_mask(unsigned int irq_nr) | |||
| 64 | (1 << (irq_source - 32))), SCORE_PIC + INT_MASKH); | 64 | (1 << (irq_source - 32))), SCORE_PIC + INT_MASKH); |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | static void score_unmask(unsigned int irq_nr) | 67 | static void score_unmask(struct irq_data *d) |
| 68 | { | 68 | { |
| 69 | unsigned int irq_source = 63 - irq_nr; | 69 | unsigned int irq_source = 63 - d->irq; |
| 70 | 70 | ||
| 71 | if (irq_source < 32) | 71 | if (irq_source < 32) |
| 72 | __raw_writel((__raw_readl(SCORE_PIC + INT_MASKL) & \ | 72 | __raw_writel((__raw_readl(SCORE_PIC + INT_MASKL) & \ |
| @@ -78,9 +78,9 @@ static void score_unmask(unsigned int irq_nr) | |||
| 78 | 78 | ||
| 79 | struct irq_chip score_irq_chip = { | 79 | struct irq_chip score_irq_chip = { |
| 80 | .name = "Score7-level", | 80 | .name = "Score7-level", |
| 81 | .mask = score_mask, | 81 | .irq_mask = score_mask, |
| 82 | .mask_ack = score_mask, | 82 | .irq_mask_ack = score_mask, |
| 83 | .unmask = score_unmask, | 83 | .irq_unmask = score_unmask, |
| 84 | }; | 84 | }; |
| 85 | 85 | ||
| 86 | /* | 86 | /* |
| @@ -127,21 +127,23 @@ int show_interrupts(struct seq_file *p, void *v) | |||
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | if (i < NR_IRQS) { | 129 | if (i < NR_IRQS) { |
| 130 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 130 | struct irq_desc *desc = irq_to_desc(i); |
| 131 | action = irq_desc[i].action; | 131 | |
| 132 | raw_spin_lock_irqsave(&desc->lock, flags); | ||
| 133 | action = desc->action; | ||
| 132 | if (!action) | 134 | if (!action) |
| 133 | goto unlock; | 135 | goto unlock; |
| 134 | 136 | ||
| 135 | seq_printf(p, "%3d: ", i); | 137 | seq_printf(p, "%3d: ", i); |
| 136 | seq_printf(p, "%10u ", kstat_irqs(i)); | 138 | seq_printf(p, "%10u ", kstat_irqs(i)); |
| 137 | seq_printf(p, " %8s", irq_desc[i].chip->name ? : "-"); | 139 | seq_printf(p, " %8s", get_irq_desc_chip(desc)->name ? : "-"); |
| 138 | seq_printf(p, " %s", action->name); | 140 | seq_printf(p, " %s", action->name); |
| 139 | for (action = action->next; action; action = action->next) | 141 | for (action = action->next; action; action = action->next) |
| 140 | seq_printf(p, ", %s", action->name); | 142 | seq_printf(p, ", %s", action->name); |
| 141 | 143 | ||
| 142 | seq_putc(p, '\n'); | 144 | seq_putc(p, '\n'); |
| 143 | unlock: | 145 | unlock: |
| 144 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 146 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
| 145 | } | 147 | } |
| 146 | 148 | ||
| 147 | return 0; | 149 | return 0; |
