diff options
Diffstat (limited to 'arch/m68k/mac/via.c')
-rw-r--r-- | arch/m68k/mac/via.c | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c index f01d418e64fe..7d97ba54536e 100644 --- a/arch/m68k/mac/via.c +++ b/arch/m68k/mac/via.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <asm/macints.h> | 34 | #include <asm/macints.h> |
35 | #include <asm/mac_via.h> | 35 | #include <asm/mac_via.h> |
36 | #include <asm/mac_psc.h> | 36 | #include <asm/mac_psc.h> |
37 | #include <asm/mac_oss.h> | ||
37 | 38 | ||
38 | volatile __u8 *via1, *via2; | 39 | volatile __u8 *via1, *via2; |
39 | int rbv_present; | 40 | int rbv_present; |
@@ -84,7 +85,6 @@ void via_irq_disable(int irq); | |||
84 | void via_irq_clear(int irq); | 85 | void via_irq_clear(int irq); |
85 | 86 | ||
86 | extern irqreturn_t mac_scc_dispatch(int, void *); | 87 | extern irqreturn_t mac_scc_dispatch(int, void *); |
87 | extern int oss_present; | ||
88 | 88 | ||
89 | /* | 89 | /* |
90 | * Initialize the VIAs | 90 | * Initialize the VIAs |
@@ -283,7 +283,8 @@ void __init via_init_clock(irq_handler_t func) | |||
283 | via1[vT1CL] = MAC_CLOCK_LOW; | 283 | via1[vT1CL] = MAC_CLOCK_LOW; |
284 | via1[vT1CH] = MAC_CLOCK_HIGH; | 284 | via1[vT1CH] = MAC_CLOCK_HIGH; |
285 | 285 | ||
286 | request_irq(IRQ_MAC_TIMER_1, func, IRQ_FLG_LOCK, "timer", func); | 286 | if (request_irq(IRQ_MAC_TIMER_1, func, IRQ_FLG_LOCK, "timer", func)) |
287 | pr_err("Couldn't register %s interrupt\n", "timer"); | ||
287 | } | 288 | } |
288 | 289 | ||
289 | /* | 290 | /* |
@@ -293,25 +294,31 @@ void __init via_init_clock(irq_handler_t func) | |||
293 | void __init via_register_interrupts(void) | 294 | void __init via_register_interrupts(void) |
294 | { | 295 | { |
295 | if (via_alt_mapping) { | 296 | if (via_alt_mapping) { |
296 | request_irq(IRQ_AUTO_1, via1_irq, | 297 | if (request_irq(IRQ_AUTO_1, via1_irq, |
297 | IRQ_FLG_LOCK|IRQ_FLG_FAST, "software", | 298 | IRQ_FLG_LOCK|IRQ_FLG_FAST, "software", |
298 | (void *) via1); | 299 | (void *) via1)) |
299 | request_irq(IRQ_AUTO_6, via1_irq, | 300 | pr_err("Couldn't register %s interrupt\n", "software"); |
301 | if (request_irq(IRQ_AUTO_6, via1_irq, | ||
300 | IRQ_FLG_LOCK|IRQ_FLG_FAST, "via1", | 302 | IRQ_FLG_LOCK|IRQ_FLG_FAST, "via1", |
301 | (void *) via1); | 303 | (void *) via1)) |
304 | pr_err("Couldn't register %s interrupt\n", "via1"); | ||
302 | } else { | 305 | } else { |
303 | request_irq(IRQ_AUTO_1, via1_irq, | 306 | if (request_irq(IRQ_AUTO_1, via1_irq, |
304 | IRQ_FLG_LOCK|IRQ_FLG_FAST, "via1", | 307 | IRQ_FLG_LOCK|IRQ_FLG_FAST, "via1", |
305 | (void *) via1); | 308 | (void *) via1)) |
309 | pr_err("Couldn't register %s interrupt\n", "via1"); | ||
306 | } | 310 | } |
307 | request_irq(IRQ_AUTO_2, via2_irq, IRQ_FLG_LOCK|IRQ_FLG_FAST, | 311 | if (request_irq(IRQ_AUTO_2, via2_irq, IRQ_FLG_LOCK|IRQ_FLG_FAST, |
308 | "via2", (void *) via2); | 312 | "via2", (void *) via2)) |
313 | pr_err("Couldn't register %s interrupt\n", "via2"); | ||
309 | if (!psc_present) { | 314 | if (!psc_present) { |
310 | request_irq(IRQ_AUTO_4, mac_scc_dispatch, IRQ_FLG_LOCK, | 315 | if (request_irq(IRQ_AUTO_4, mac_scc_dispatch, IRQ_FLG_LOCK, |
311 | "scc", mac_scc_dispatch); | 316 | "scc", mac_scc_dispatch)) |
317 | pr_err("Couldn't register %s interrupt\n", "scc"); | ||
312 | } | 318 | } |
313 | request_irq(IRQ_MAC_NUBUS, via_nubus_irq, IRQ_FLG_LOCK|IRQ_FLG_FAST, | 319 | if (request_irq(IRQ_MAC_NUBUS, via_nubus_irq, |
314 | "nubus", (void *) via2); | 320 | IRQ_FLG_LOCK|IRQ_FLG_FAST, "nubus", (void *) via2)) |
321 | pr_err("Couldn't register %s interrupt\n", "nubus"); | ||
315 | } | 322 | } |
316 | 323 | ||
317 | /* | 324 | /* |