diff options
author | GuanXuetao <gxt@mprc.pku.edu.cn> | 2011-02-17 06:15:36 -0500 |
---|---|---|
committer | GuanXuetao <gxt@mprc.pku.edu.cn> | 2011-03-16 21:19:17 -0400 |
commit | 36a8b8c399480b5388ddd198ead78c9dd0e50df0 (patch) | |
tree | 65bc3c63e75606275449381b218e4009384be586 /arch/unicore32 | |
parent | 3ab457cadd15bb388b200813222af1d5fb71c9d6 (diff) |
unicore32: modify function names and parameters for irq_chips
-- by advice with Thomas Gleixner
Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Diffstat (limited to 'arch/unicore32')
-rw-r--r-- | arch/unicore32/Kconfig | 1 | ||||
-rw-r--r-- | arch/unicore32/kernel/irq.c | 82 |
2 files changed, 42 insertions, 41 deletions
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index 90835c95947..7f65018e64a 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig | |||
@@ -10,6 +10,7 @@ config UNICORE32 | |||
10 | select HAVE_KERNEL_LZMA | 10 | select HAVE_KERNEL_LZMA |
11 | select GENERIC_FIND_FIRST_BIT | 11 | select GENERIC_FIND_FIRST_BIT |
12 | select GENERIC_IRQ_PROBE | 12 | select GENERIC_IRQ_PROBE |
13 | select GENERIC_HARDIRQS_NO_DEPRECATED | ||
13 | select ARCH_WANT_FRAME_POINTERS | 14 | select ARCH_WANT_FRAME_POINTERS |
14 | help | 15 | help |
15 | UniCore-32 is 32-bit Instruction Set Architecture, | 16 | UniCore-32 is 32-bit Instruction Set Architecture, |
diff --git a/arch/unicore32/kernel/irq.c b/arch/unicore32/kernel/irq.c index 7c211f59783..38e30897dea 100644 --- a/arch/unicore32/kernel/irq.c +++ b/arch/unicore32/kernel/irq.c | |||
@@ -42,14 +42,14 @@ static int GPIO_IRQ_mask = 0; | |||
42 | 42 | ||
43 | #define GPIO_MASK(irq) (1 << (irq - IRQ_GPIO0)) | 43 | #define GPIO_MASK(irq) (1 << (irq - IRQ_GPIO0)) |
44 | 44 | ||
45 | static int puv3_gpio_type(unsigned int irq, unsigned int type) | 45 | static int puv3_gpio_type(struct irq_data *d, unsigned int type) |
46 | { | 46 | { |
47 | unsigned int mask; | 47 | unsigned int mask; |
48 | 48 | ||
49 | if (irq < IRQ_GPIOHIGH) | 49 | if (d->irq < IRQ_GPIOHIGH) |
50 | mask = 1 << irq; | 50 | mask = 1 << d->irq; |
51 | else | 51 | else |
52 | mask = GPIO_MASK(irq); | 52 | mask = GPIO_MASK(d->irq); |
53 | 53 | ||
54 | if (type == IRQ_TYPE_PROBE) { | 54 | if (type == IRQ_TYPE_PROBE) { |
55 | if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask) | 55 | if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask) |
@@ -75,37 +75,37 @@ static int puv3_gpio_type(unsigned int irq, unsigned int type) | |||
75 | /* | 75 | /* |
76 | * GPIO IRQs must be acknowledged. This is for IRQs from 0 to 7. | 76 | * GPIO IRQs must be acknowledged. This is for IRQs from 0 to 7. |
77 | */ | 77 | */ |
78 | static void puv3_low_gpio_ack(unsigned int irq) | 78 | static void puv3_low_gpio_ack(struct irq_data *d) |
79 | { | 79 | { |
80 | GPIO_GEDR = (1 << irq); | 80 | GPIO_GEDR = (1 << d->irq); |
81 | } | 81 | } |
82 | 82 | ||
83 | static void puv3_low_gpio_mask(unsigned int irq) | 83 | static void puv3_low_gpio_mask(struct irq_data *d) |
84 | { | 84 | { |
85 | INTC_ICMR &= ~(1 << irq); | 85 | INTC_ICMR &= ~(1 << d->irq); |
86 | } | 86 | } |
87 | 87 | ||
88 | static void puv3_low_gpio_unmask(unsigned int irq) | 88 | static void puv3_low_gpio_unmask(struct irq_data *d) |
89 | { | 89 | { |
90 | INTC_ICMR |= 1 << irq; | 90 | INTC_ICMR |= 1 << d->irq; |
91 | } | 91 | } |
92 | 92 | ||
93 | static int puv3_low_gpio_wake(unsigned int irq, unsigned int on) | 93 | static int puv3_low_gpio_wake(struct irq_data *d, unsigned int on) |
94 | { | 94 | { |
95 | if (on) | 95 | if (on) |
96 | PM_PWER |= 1 << irq; | 96 | PM_PWER |= 1 << d->irq; |
97 | else | 97 | else |
98 | PM_PWER &= ~(1 << irq); | 98 | PM_PWER &= ~(1 << d->irq); |
99 | return 0; | 99 | return 0; |
100 | } | 100 | } |
101 | 101 | ||
102 | static struct irq_chip puv3_low_gpio_chip = { | 102 | static struct irq_chip puv3_low_gpio_chip = { |
103 | .name = "GPIO-low", | 103 | .name = "GPIO-low", |
104 | .ack = puv3_low_gpio_ack, | 104 | .irq_ack = puv3_low_gpio_ack, |
105 | .mask = puv3_low_gpio_mask, | 105 | .irq_mask = puv3_low_gpio_mask, |
106 | .unmask = puv3_low_gpio_unmask, | 106 | .irq_unmask = puv3_low_gpio_unmask, |
107 | .set_type = puv3_gpio_type, | 107 | .irq_set_type = puv3_gpio_type, |
108 | .set_wake = puv3_low_gpio_wake, | 108 | .irq_set_wake = puv3_low_gpio_wake, |
109 | }; | 109 | }; |
110 | 110 | ||
111 | /* | 111 | /* |
@@ -142,16 +142,16 @@ puv3_gpio_handler(unsigned int irq, struct irq_desc *desc) | |||
142 | * In addition, the IRQs are all collected up into one bit in the | 142 | * In addition, the IRQs are all collected up into one bit in the |
143 | * interrupt controller registers. | 143 | * interrupt controller registers. |
144 | */ | 144 | */ |
145 | static void puv3_high_gpio_ack(unsigned int irq) | 145 | static void puv3_high_gpio_ack(struct irq_data *d) |
146 | { | 146 | { |
147 | unsigned int mask = GPIO_MASK(irq); | 147 | unsigned int mask = GPIO_MASK(d->irq); |
148 | 148 | ||
149 | GPIO_GEDR = mask; | 149 | GPIO_GEDR = mask; |
150 | } | 150 | } |
151 | 151 | ||
152 | static void puv3_high_gpio_mask(unsigned int irq) | 152 | static void puv3_high_gpio_mask(struct irq_data *d) |
153 | { | 153 | { |
154 | unsigned int mask = GPIO_MASK(irq); | 154 | unsigned int mask = GPIO_MASK(d->irq); |
155 | 155 | ||
156 | GPIO_IRQ_mask &= ~mask; | 156 | GPIO_IRQ_mask &= ~mask; |
157 | 157 | ||
@@ -159,9 +159,9 @@ static void puv3_high_gpio_mask(unsigned int irq) | |||
159 | GPIO_GFER &= ~mask; | 159 | GPIO_GFER &= ~mask; |
160 | } | 160 | } |
161 | 161 | ||
162 | static void puv3_high_gpio_unmask(unsigned int irq) | 162 | static void puv3_high_gpio_unmask(struct irq_data *d) |
163 | { | 163 | { |
164 | unsigned int mask = GPIO_MASK(irq); | 164 | unsigned int mask = GPIO_MASK(d->irq); |
165 | 165 | ||
166 | GPIO_IRQ_mask |= mask; | 166 | GPIO_IRQ_mask |= mask; |
167 | 167 | ||
@@ -169,7 +169,7 @@ static void puv3_high_gpio_unmask(unsigned int irq) | |||
169 | GPIO_GFER = GPIO_IRQ_falling_edge & GPIO_IRQ_mask; | 169 | GPIO_GFER = GPIO_IRQ_falling_edge & GPIO_IRQ_mask; |
170 | } | 170 | } |
171 | 171 | ||
172 | static int puv3_high_gpio_wake(unsigned int irq, unsigned int on) | 172 | static int puv3_high_gpio_wake(struct irq_data *d, unsigned int on) |
173 | { | 173 | { |
174 | if (on) | 174 | if (on) |
175 | PM_PWER |= PM_PWER_GPIOHIGH; | 175 | PM_PWER |= PM_PWER_GPIOHIGH; |
@@ -180,33 +180,33 @@ static int puv3_high_gpio_wake(unsigned int irq, unsigned int on) | |||
180 | 180 | ||
181 | static struct irq_chip puv3_high_gpio_chip = { | 181 | static struct irq_chip puv3_high_gpio_chip = { |
182 | .name = "GPIO-high", | 182 | .name = "GPIO-high", |
183 | .ack = puv3_high_gpio_ack, | 183 | .irq_ack = puv3_high_gpio_ack, |
184 | .mask = puv3_high_gpio_mask, | 184 | .irq_mask = puv3_high_gpio_mask, |
185 | .unmask = puv3_high_gpio_unmask, | 185 | .irq_unmask = puv3_high_gpio_unmask, |
186 | .set_type = puv3_gpio_type, | 186 | .irq_set_type = puv3_gpio_type, |
187 | .set_wake = puv3_high_gpio_wake, | 187 | .irq_set_wake = puv3_high_gpio_wake, |
188 | }; | 188 | }; |
189 | 189 | ||
190 | /* | 190 | /* |
191 | * We don't need to ACK IRQs on the PKUnity unless they're GPIOs | 191 | * We don't need to ACK IRQs on the PKUnity unless they're GPIOs |
192 | * this is for internal IRQs i.e. from 8 to 31. | 192 | * this is for internal IRQs i.e. from 8 to 31. |
193 | */ | 193 | */ |
194 | static void puv3_mask_irq(unsigned int irq) | 194 | static void puv3_mask_irq(struct irq_data *d) |
195 | { | 195 | { |
196 | INTC_ICMR &= ~(1 << irq); | 196 | INTC_ICMR &= ~(1 << d->irq); |
197 | } | 197 | } |
198 | 198 | ||
199 | static void puv3_unmask_irq(unsigned int irq) | 199 | static void puv3_unmask_irq(struct irq_data *d) |
200 | { | 200 | { |
201 | INTC_ICMR |= (1 << irq); | 201 | INTC_ICMR |= (1 << d->irq); |
202 | } | 202 | } |
203 | 203 | ||
204 | /* | 204 | /* |
205 | * Apart form GPIOs, only the RTC alarm can be a wakeup event. | 205 | * Apart form GPIOs, only the RTC alarm can be a wakeup event. |
206 | */ | 206 | */ |
207 | static int puv3_set_wake(unsigned int irq, unsigned int on) | 207 | static int puv3_set_wake(struct irq_data *d, unsigned int on) |
208 | { | 208 | { |
209 | if (irq == IRQ_RTCAlarm) { | 209 | if (d->irq == IRQ_RTCAlarm) { |
210 | if (on) | 210 | if (on) |
211 | PM_PWER |= PM_PWER_RTC; | 211 | PM_PWER |= PM_PWER_RTC; |
212 | else | 212 | else |
@@ -218,10 +218,10 @@ static int puv3_set_wake(unsigned int irq, unsigned int on) | |||
218 | 218 | ||
219 | static struct irq_chip puv3_normal_chip = { | 219 | static struct irq_chip puv3_normal_chip = { |
220 | .name = "PKUnity-v3", | 220 | .name = "PKUnity-v3", |
221 | .ack = puv3_mask_irq, | 221 | .irq_ack = puv3_mask_irq, |
222 | .mask = puv3_mask_irq, | 222 | .irq_mask = puv3_mask_irq, |
223 | .unmask = puv3_unmask_irq, | 223 | .irq_unmask = puv3_unmask_irq, |
224 | .set_wake = puv3_set_wake, | 224 | .irq_set_wake = puv3_set_wake, |
225 | }; | 225 | }; |
226 | 226 | ||
227 | static struct resource irq_resource = { | 227 | static struct resource irq_resource = { |
@@ -383,7 +383,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
383 | seq_printf(p, "%3d: ", i); | 383 | seq_printf(p, "%3d: ", i); |
384 | for_each_present_cpu(cpu) | 384 | for_each_present_cpu(cpu) |
385 | seq_printf(p, "%10u ", kstat_irqs_cpu(i, cpu)); | 385 | seq_printf(p, "%10u ", kstat_irqs_cpu(i, cpu)); |
386 | seq_printf(p, " %10s", desc->chip->name ? : "-"); | 386 | seq_printf(p, " %10s", desc->irq_data.chip->name ? : "-"); |
387 | seq_printf(p, " %s", action->name); | 387 | seq_printf(p, " %s", action->name); |
388 | for (action = action->next; action; action = action->next) | 388 | for (action = action->next; action; action = action->next) |
389 | seq_printf(p, ", %s", action->name); | 389 | seq_printf(p, ", %s", action->name); |