aboutsummaryrefslogtreecommitdiffstats
path: root/arch/score/kernel/irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/score/kernel/irq.c')
-rw-r--r--arch/score/kernel/irq.c24
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
55static void score_mask(unsigned int irq_nr) 55static 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
67static void score_unmask(unsigned int irq_nr) 67static 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
79struct irq_chip score_irq_chip = { 79struct 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');
143unlock: 145unlock:
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;