aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/kernel/ints.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert@linux-m68k.org>2011-04-17 16:53:04 -0400
committerGeert Uytterhoeven <geert@linux-m68k.org>2011-11-08 16:35:47 -0500
commite8abf5e73cdb6c034d35ccba1f63a4801cd3dec5 (patch)
tree170de6cb1d0048757b2ab55b2a0bfeb87d274fd4 /arch/m68k/kernel/ints.c
parent6549d537922da6a6893e9bc1be9c2b89db663719 (diff)
m68k/irq: Switch irq_chip methods to "struct irq_data *data"
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/m68k/kernel/ints.c')
-rw-r--r--arch/m68k/kernel/ints.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/arch/m68k/kernel/ints.c b/arch/m68k/kernel/ints.c
index 88779320d406..404d832f5d35 100644
--- a/arch/m68k/kernel/ints.c
+++ b/arch/m68k/kernel/ints.c
@@ -203,9 +203,9 @@ int setup_irq(unsigned int irq, struct irq_data *node)
203 203
204 if (!irq_list[irq]) { 204 if (!irq_list[irq]) {
205 if (contr->irq_startup) 205 if (contr->irq_startup)
206 contr->irq_startup(irq); 206 contr->irq_startup(node);
207 else 207 else
208 contr->irq_enable(irq); 208 contr->irq_enable(node);
209 } 209 }
210 node->next = NULL; 210 node->next = NULL;
211 *prev = node; 211 *prev = node;
@@ -270,9 +270,9 @@ void free_irq(unsigned int irq, void *dev_id)
270 270
271 if (!irq_list[irq]) { 271 if (!irq_list[irq]) {
272 if (contr->irq_shutdown) 272 if (contr->irq_shutdown)
273 contr->irq_shutdown(irq); 273 contr->irq_shutdown(node);
274 else 274 else
275 contr->irq_disable(irq); 275 contr->irq_disable(node);
276 } 276 }
277 277
278 local_irq_restore(flags); 278 local_irq_restore(flags);
@@ -295,7 +295,7 @@ void enable_irq(unsigned int irq)
295 if (irq_depth[irq]) { 295 if (irq_depth[irq]) {
296 if (!--irq_depth[irq]) { 296 if (!--irq_depth[irq]) {
297 if (contr->irq_enable) 297 if (contr->irq_enable)
298 contr->irq_enable(irq); 298 contr->irq_enable(irq_list[irq]);
299 } 299 }
300 } else 300 } else
301 WARN_ON(1); 301 WARN_ON(1);
@@ -318,7 +318,7 @@ void disable_irq(unsigned int irq)
318 local_irq_save(flags); 318 local_irq_save(flags);
319 if (!irq_depth[irq]++) { 319 if (!irq_depth[irq]++) {
320 if (contr->irq_disable) 320 if (contr->irq_disable)
321 contr->irq_disable(irq); 321 contr->irq_disable(irq_list[irq]);
322 } 322 }
323 local_irq_restore(flags); 323 local_irq_restore(flags);
324} 324}
@@ -329,7 +329,7 @@ void disable_irq_nosync(unsigned int irq) __attribute__((alias("disable_irq")));
329 329
330EXPORT_SYMBOL(disable_irq_nosync); 330EXPORT_SYMBOL(disable_irq_nosync);
331 331
332unsigned int m68k_irq_startup(unsigned int irq) 332unsigned int m68k_irq_startup_irq(unsigned int irq)
333{ 333{
334 if (irq <= IRQ_AUTO_7) 334 if (irq <= IRQ_AUTO_7)
335 vectors[VEC_SPUR + irq] = auto_inthandler; 335 vectors[VEC_SPUR + irq] = auto_inthandler;
@@ -338,8 +338,15 @@ unsigned int m68k_irq_startup(unsigned int irq)
338 return 0; 338 return 0;
339} 339}
340 340
341void m68k_irq_shutdown(unsigned int irq) 341unsigned int m68k_irq_startup(struct irq_data *data)
342{ 342{
343 return m68k_irq_startup_irq(data->irq);
344}
345
346void m68k_irq_shutdown(struct irq_data *data)
347{
348 unsigned int irq = data->irq;
349
343 if (irq <= IRQ_AUTO_7) 350 if (irq <= IRQ_AUTO_7)
344 vectors[VEC_SPUR + irq] = bad_inthandler; 351 vectors[VEC_SPUR + irq] = bad_inthandler;
345 else 352 else