diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2006-11-01 12:08:36 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-11-29 20:14:46 -0500 |
commit | 1603b5aca4f15b34848fb5594d0c7b6333b99144 (patch) | |
tree | 79272aa41d6510b7256df62e287676885c3960cf /arch/mips/tx4927/toshiba_rbtx4927 | |
parent | c87b6ebaea034c0e0ce86127870cf1511a307b64 (diff) |
[MIPS] IRQ cleanups
This is a big irq cleanup patch.
* Use set_irq_chip() to register irq_chip.
* Initialize .mask, .unmask, .mask_ack field. Functions for these
method are already exist in most case.
* Do not initialize .startup, .shutdown, .enable, .disable fields if
default routines provided by irq_chip_set_defaults() were suitable.
* Remove redundant irq_desc initializations.
* Remove unnecessary local_irq_save/local_irq_restore, spin_lock.
With this cleanup, it would be easy to switch to slightly lightwait
irq flow handlers (handle_level_irq(), etc.) instead of __do_IRQ().
Though whole this patch is quite large, changes in each irq_chip are
not quite simple. Please review and test on your platform. Thanks.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/tx4927/toshiba_rbtx4927')
-rw-r--r-- | arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c | 183 |
1 files changed, 11 insertions, 172 deletions
diff --git a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c index 0c3c3f668230..1fdace89ae6d 100644 --- a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c +++ b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c | |||
@@ -151,16 +151,11 @@ JP7 is not bus master -- do NOT use -- only 4 pci bus master's allowed -- SouthB | |||
151 | #define TOSHIBA_RBTX4927_IRQ_EROR ( 1 << 2 ) | 151 | #define TOSHIBA_RBTX4927_IRQ_EROR ( 1 << 2 ) |
152 | 152 | ||
153 | #define TOSHIBA_RBTX4927_IRQ_IOC_INIT ( 1 << 10 ) | 153 | #define TOSHIBA_RBTX4927_IRQ_IOC_INIT ( 1 << 10 ) |
154 | #define TOSHIBA_RBTX4927_IRQ_IOC_STARTUP ( 1 << 11 ) | ||
155 | #define TOSHIBA_RBTX4927_IRQ_IOC_SHUTDOWN ( 1 << 12 ) | ||
156 | #define TOSHIBA_RBTX4927_IRQ_IOC_ENABLE ( 1 << 13 ) | 154 | #define TOSHIBA_RBTX4927_IRQ_IOC_ENABLE ( 1 << 13 ) |
157 | #define TOSHIBA_RBTX4927_IRQ_IOC_DISABLE ( 1 << 14 ) | 155 | #define TOSHIBA_RBTX4927_IRQ_IOC_DISABLE ( 1 << 14 ) |
158 | #define TOSHIBA_RBTX4927_IRQ_IOC_MASK ( 1 << 15 ) | ||
159 | #define TOSHIBA_RBTX4927_IRQ_IOC_ENDIRQ ( 1 << 16 ) | 156 | #define TOSHIBA_RBTX4927_IRQ_IOC_ENDIRQ ( 1 << 16 ) |
160 | 157 | ||
161 | #define TOSHIBA_RBTX4927_IRQ_ISA_INIT ( 1 << 20 ) | 158 | #define TOSHIBA_RBTX4927_IRQ_ISA_INIT ( 1 << 20 ) |
162 | #define TOSHIBA_RBTX4927_IRQ_ISA_STARTUP ( 1 << 21 ) | ||
163 | #define TOSHIBA_RBTX4927_IRQ_ISA_SHUTDOWN ( 1 << 22 ) | ||
164 | #define TOSHIBA_RBTX4927_IRQ_ISA_ENABLE ( 1 << 23 ) | 159 | #define TOSHIBA_RBTX4927_IRQ_ISA_ENABLE ( 1 << 23 ) |
165 | #define TOSHIBA_RBTX4927_IRQ_ISA_DISABLE ( 1 << 24 ) | 160 | #define TOSHIBA_RBTX4927_IRQ_ISA_DISABLE ( 1 << 24 ) |
166 | #define TOSHIBA_RBTX4927_IRQ_ISA_MASK ( 1 << 25 ) | 161 | #define TOSHIBA_RBTX4927_IRQ_ISA_MASK ( 1 << 25 ) |
@@ -175,15 +170,10 @@ static const u32 toshiba_rbtx4927_irq_debug_flag = | |||
175 | (TOSHIBA_RBTX4927_IRQ_NONE | TOSHIBA_RBTX4927_IRQ_INFO | | 170 | (TOSHIBA_RBTX4927_IRQ_NONE | TOSHIBA_RBTX4927_IRQ_INFO | |
176 | TOSHIBA_RBTX4927_IRQ_WARN | TOSHIBA_RBTX4927_IRQ_EROR | 171 | TOSHIBA_RBTX4927_IRQ_WARN | TOSHIBA_RBTX4927_IRQ_EROR |
177 | // | TOSHIBA_RBTX4927_IRQ_IOC_INIT | 172 | // | TOSHIBA_RBTX4927_IRQ_IOC_INIT |
178 | // | TOSHIBA_RBTX4927_IRQ_IOC_STARTUP | ||
179 | // | TOSHIBA_RBTX4927_IRQ_IOC_SHUTDOWN | ||
180 | // | TOSHIBA_RBTX4927_IRQ_IOC_ENABLE | 173 | // | TOSHIBA_RBTX4927_IRQ_IOC_ENABLE |
181 | // | TOSHIBA_RBTX4927_IRQ_IOC_DISABLE | 174 | // | TOSHIBA_RBTX4927_IRQ_IOC_DISABLE |
182 | // | TOSHIBA_RBTX4927_IRQ_IOC_MASK | ||
183 | // | TOSHIBA_RBTX4927_IRQ_IOC_ENDIRQ | 175 | // | TOSHIBA_RBTX4927_IRQ_IOC_ENDIRQ |
184 | // | TOSHIBA_RBTX4927_IRQ_ISA_INIT | 176 | // | TOSHIBA_RBTX4927_IRQ_ISA_INIT |
185 | // | TOSHIBA_RBTX4927_IRQ_ISA_STARTUP | ||
186 | // | TOSHIBA_RBTX4927_IRQ_ISA_SHUTDOWN | ||
187 | // | TOSHIBA_RBTX4927_IRQ_ISA_ENABLE | 177 | // | TOSHIBA_RBTX4927_IRQ_ISA_ENABLE |
188 | // | TOSHIBA_RBTX4927_IRQ_ISA_DISABLE | 178 | // | TOSHIBA_RBTX4927_IRQ_ISA_DISABLE |
189 | // | TOSHIBA_RBTX4927_IRQ_ISA_MASK | 179 | // | TOSHIBA_RBTX4927_IRQ_ISA_MASK |
@@ -231,35 +221,25 @@ extern void disable_8259A_irq(unsigned int irq); | |||
231 | extern void mask_and_ack_8259A(unsigned int irq); | 221 | extern void mask_and_ack_8259A(unsigned int irq); |
232 | #endif | 222 | #endif |
233 | 223 | ||
234 | static unsigned int toshiba_rbtx4927_irq_ioc_startup(unsigned int irq); | ||
235 | static void toshiba_rbtx4927_irq_ioc_shutdown(unsigned int irq); | ||
236 | static void toshiba_rbtx4927_irq_ioc_enable(unsigned int irq); | 224 | static void toshiba_rbtx4927_irq_ioc_enable(unsigned int irq); |
237 | static void toshiba_rbtx4927_irq_ioc_disable(unsigned int irq); | 225 | static void toshiba_rbtx4927_irq_ioc_disable(unsigned int irq); |
238 | static void toshiba_rbtx4927_irq_ioc_mask_and_ack(unsigned int irq); | ||
239 | static void toshiba_rbtx4927_irq_ioc_end(unsigned int irq); | 226 | static void toshiba_rbtx4927_irq_ioc_end(unsigned int irq); |
240 | 227 | ||
241 | #ifdef CONFIG_TOSHIBA_FPCIB0 | 228 | #ifdef CONFIG_TOSHIBA_FPCIB0 |
242 | static unsigned int toshiba_rbtx4927_irq_isa_startup(unsigned int irq); | ||
243 | static void toshiba_rbtx4927_irq_isa_shutdown(unsigned int irq); | ||
244 | static void toshiba_rbtx4927_irq_isa_enable(unsigned int irq); | 229 | static void toshiba_rbtx4927_irq_isa_enable(unsigned int irq); |
245 | static void toshiba_rbtx4927_irq_isa_disable(unsigned int irq); | 230 | static void toshiba_rbtx4927_irq_isa_disable(unsigned int irq); |
246 | static void toshiba_rbtx4927_irq_isa_mask_and_ack(unsigned int irq); | 231 | static void toshiba_rbtx4927_irq_isa_mask_and_ack(unsigned int irq); |
247 | static void toshiba_rbtx4927_irq_isa_end(unsigned int irq); | 232 | static void toshiba_rbtx4927_irq_isa_end(unsigned int irq); |
248 | #endif | 233 | #endif |
249 | 234 | ||
250 | static DEFINE_SPINLOCK(toshiba_rbtx4927_ioc_lock); | ||
251 | |||
252 | |||
253 | #define TOSHIBA_RBTX4927_IOC_NAME "RBTX4927-IOC" | 235 | #define TOSHIBA_RBTX4927_IOC_NAME "RBTX4927-IOC" |
254 | static struct irq_chip toshiba_rbtx4927_irq_ioc_type = { | 236 | static struct irq_chip toshiba_rbtx4927_irq_ioc_type = { |
255 | .typename = TOSHIBA_RBTX4927_IOC_NAME, | 237 | .typename = TOSHIBA_RBTX4927_IOC_NAME, |
256 | .startup = toshiba_rbtx4927_irq_ioc_startup, | 238 | .ack = toshiba_rbtx4927_irq_ioc_disable, |
257 | .shutdown = toshiba_rbtx4927_irq_ioc_shutdown, | 239 | .mask = toshiba_rbtx4927_irq_ioc_disable, |
258 | .enable = toshiba_rbtx4927_irq_ioc_enable, | 240 | .mask_ack = toshiba_rbtx4927_irq_ioc_disable, |
259 | .disable = toshiba_rbtx4927_irq_ioc_disable, | 241 | .unmask = toshiba_rbtx4927_irq_ioc_enable, |
260 | .ack = toshiba_rbtx4927_irq_ioc_mask_and_ack, | ||
261 | .end = toshiba_rbtx4927_irq_ioc_end, | 242 | .end = toshiba_rbtx4927_irq_ioc_end, |
262 | .set_affinity = NULL | ||
263 | }; | 243 | }; |
264 | #define TOSHIBA_RBTX4927_IOC_INTR_ENAB 0xbc002000 | 244 | #define TOSHIBA_RBTX4927_IOC_INTR_ENAB 0xbc002000 |
265 | #define TOSHIBA_RBTX4927_IOC_INTR_STAT 0xbc002006 | 245 | #define TOSHIBA_RBTX4927_IOC_INTR_STAT 0xbc002006 |
@@ -269,13 +249,11 @@ static struct irq_chip toshiba_rbtx4927_irq_ioc_type = { | |||
269 | #define TOSHIBA_RBTX4927_ISA_NAME "RBTX4927-ISA" | 249 | #define TOSHIBA_RBTX4927_ISA_NAME "RBTX4927-ISA" |
270 | static struct irq_chip toshiba_rbtx4927_irq_isa_type = { | 250 | static struct irq_chip toshiba_rbtx4927_irq_isa_type = { |
271 | .typename = TOSHIBA_RBTX4927_ISA_NAME, | 251 | .typename = TOSHIBA_RBTX4927_ISA_NAME, |
272 | .startup = toshiba_rbtx4927_irq_isa_startup, | ||
273 | .shutdown = toshiba_rbtx4927_irq_isa_shutdown, | ||
274 | .enable = toshiba_rbtx4927_irq_isa_enable, | ||
275 | .disable = toshiba_rbtx4927_irq_isa_disable, | ||
276 | .ack = toshiba_rbtx4927_irq_isa_mask_and_ack, | 252 | .ack = toshiba_rbtx4927_irq_isa_mask_and_ack, |
253 | .mask = toshiba_rbtx4927_irq_isa_disable, | ||
254 | .mask_ack = toshiba_rbtx4927_irq_isa_mask_and_ack, | ||
255 | .unmask = toshiba_rbtx4927_irq_isa_enable, | ||
277 | .end = toshiba_rbtx4927_irq_isa_end, | 256 | .end = toshiba_rbtx4927_irq_isa_end, |
278 | .set_affinity = NULL | ||
279 | }; | 257 | }; |
280 | #endif | 258 | #endif |
281 | 259 | ||
@@ -363,58 +341,15 @@ static void __init toshiba_rbtx4927_irq_ioc_init(void) | |||
363 | TOSHIBA_RBTX4927_IRQ_IOC_END); | 341 | TOSHIBA_RBTX4927_IRQ_IOC_END); |
364 | 342 | ||
365 | for (i = TOSHIBA_RBTX4927_IRQ_IOC_BEG; | 343 | for (i = TOSHIBA_RBTX4927_IRQ_IOC_BEG; |
366 | i <= TOSHIBA_RBTX4927_IRQ_IOC_END; i++) { | 344 | i <= TOSHIBA_RBTX4927_IRQ_IOC_END; i++) |
367 | irq_desc[i].status = IRQ_DISABLED; | 345 | set_irq_chip(i, &toshiba_rbtx4927_irq_ioc_type); |
368 | irq_desc[i].action = 0; | ||
369 | irq_desc[i].depth = 3; | ||
370 | irq_desc[i].chip = &toshiba_rbtx4927_irq_ioc_type; | ||
371 | } | ||
372 | 346 | ||
373 | setup_irq(TOSHIBA_RBTX4927_IRQ_NEST_IOC_ON_PIC, | 347 | setup_irq(TOSHIBA_RBTX4927_IRQ_NEST_IOC_ON_PIC, |
374 | &toshiba_rbtx4927_irq_ioc_action); | 348 | &toshiba_rbtx4927_irq_ioc_action); |
375 | |||
376 | return; | ||
377 | } | 349 | } |
378 | 350 | ||
379 | static unsigned int toshiba_rbtx4927_irq_ioc_startup(unsigned int irq) | ||
380 | { | ||
381 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_STARTUP, | ||
382 | "irq=%d\n", irq); | ||
383 | |||
384 | if (irq < TOSHIBA_RBTX4927_IRQ_IOC_BEG | ||
385 | || irq > TOSHIBA_RBTX4927_IRQ_IOC_END) { | ||
386 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_EROR, | ||
387 | "bad irq=%d\n", irq); | ||
388 | panic("\n"); | ||
389 | } | ||
390 | |||
391 | toshiba_rbtx4927_irq_ioc_enable(irq); | ||
392 | |||
393 | return (0); | ||
394 | } | ||
395 | |||
396 | |||
397 | static void toshiba_rbtx4927_irq_ioc_shutdown(unsigned int irq) | ||
398 | { | ||
399 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_SHUTDOWN, | ||
400 | "irq=%d\n", irq); | ||
401 | |||
402 | if (irq < TOSHIBA_RBTX4927_IRQ_IOC_BEG | ||
403 | || irq > TOSHIBA_RBTX4927_IRQ_IOC_END) { | ||
404 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_EROR, | ||
405 | "bad irq=%d\n", irq); | ||
406 | panic("\n"); | ||
407 | } | ||
408 | |||
409 | toshiba_rbtx4927_irq_ioc_disable(irq); | ||
410 | |||
411 | return; | ||
412 | } | ||
413 | |||
414 | |||
415 | static void toshiba_rbtx4927_irq_ioc_enable(unsigned int irq) | 351 | static void toshiba_rbtx4927_irq_ioc_enable(unsigned int irq) |
416 | { | 352 | { |
417 | unsigned long flags; | ||
418 | volatile unsigned char v; | 353 | volatile unsigned char v; |
419 | 354 | ||
420 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_ENABLE, | 355 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_ENABLE, |
@@ -427,21 +362,14 @@ static void toshiba_rbtx4927_irq_ioc_enable(unsigned int irq) | |||
427 | panic("\n"); | 362 | panic("\n"); |
428 | } | 363 | } |
429 | 364 | ||
430 | spin_lock_irqsave(&toshiba_rbtx4927_ioc_lock, flags); | ||
431 | |||
432 | v = TX4927_RD08(TOSHIBA_RBTX4927_IOC_INTR_ENAB); | 365 | v = TX4927_RD08(TOSHIBA_RBTX4927_IOC_INTR_ENAB); |
433 | v |= (1 << (irq - TOSHIBA_RBTX4927_IRQ_IOC_BEG)); | 366 | v |= (1 << (irq - TOSHIBA_RBTX4927_IRQ_IOC_BEG)); |
434 | TOSHIBA_RBTX4927_WR08(TOSHIBA_RBTX4927_IOC_INTR_ENAB, v); | 367 | TOSHIBA_RBTX4927_WR08(TOSHIBA_RBTX4927_IOC_INTR_ENAB, v); |
435 | |||
436 | spin_unlock_irqrestore(&toshiba_rbtx4927_ioc_lock, flags); | ||
437 | |||
438 | return; | ||
439 | } | 368 | } |
440 | 369 | ||
441 | 370 | ||
442 | static void toshiba_rbtx4927_irq_ioc_disable(unsigned int irq) | 371 | static void toshiba_rbtx4927_irq_ioc_disable(unsigned int irq) |
443 | { | 372 | { |
444 | unsigned long flags; | ||
445 | volatile unsigned char v; | 373 | volatile unsigned char v; |
446 | 374 | ||
447 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_DISABLE, | 375 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_DISABLE, |
@@ -454,36 +382,11 @@ static void toshiba_rbtx4927_irq_ioc_disable(unsigned int irq) | |||
454 | panic("\n"); | 382 | panic("\n"); |
455 | } | 383 | } |
456 | 384 | ||
457 | spin_lock_irqsave(&toshiba_rbtx4927_ioc_lock, flags); | ||
458 | |||
459 | v = TX4927_RD08(TOSHIBA_RBTX4927_IOC_INTR_ENAB); | 385 | v = TX4927_RD08(TOSHIBA_RBTX4927_IOC_INTR_ENAB); |
460 | v &= ~(1 << (irq - TOSHIBA_RBTX4927_IRQ_IOC_BEG)); | 386 | v &= ~(1 << (irq - TOSHIBA_RBTX4927_IRQ_IOC_BEG)); |
461 | TOSHIBA_RBTX4927_WR08(TOSHIBA_RBTX4927_IOC_INTR_ENAB, v); | 387 | TOSHIBA_RBTX4927_WR08(TOSHIBA_RBTX4927_IOC_INTR_ENAB, v); |
462 | |||
463 | spin_unlock_irqrestore(&toshiba_rbtx4927_ioc_lock, flags); | ||
464 | |||
465 | return; | ||
466 | } | 388 | } |
467 | 389 | ||
468 | |||
469 | static void toshiba_rbtx4927_irq_ioc_mask_and_ack(unsigned int irq) | ||
470 | { | ||
471 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_MASK, | ||
472 | "irq=%d\n", irq); | ||
473 | |||
474 | if (irq < TOSHIBA_RBTX4927_IRQ_IOC_BEG | ||
475 | || irq > TOSHIBA_RBTX4927_IRQ_IOC_END) { | ||
476 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_EROR, | ||
477 | "bad irq=%d\n", irq); | ||
478 | panic("\n"); | ||
479 | } | ||
480 | |||
481 | toshiba_rbtx4927_irq_ioc_disable(irq); | ||
482 | |||
483 | return; | ||
484 | } | ||
485 | |||
486 | |||
487 | static void toshiba_rbtx4927_irq_ioc_end(unsigned int irq) | 390 | static void toshiba_rbtx4927_irq_ioc_end(unsigned int irq) |
488 | { | 391 | { |
489 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_ENDIRQ, | 392 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_ENDIRQ, |
@@ -499,8 +402,6 @@ static void toshiba_rbtx4927_irq_ioc_end(unsigned int irq) | |||
499 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) { | 402 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) { |
500 | toshiba_rbtx4927_irq_ioc_enable(irq); | 403 | toshiba_rbtx4927_irq_ioc_enable(irq); |
501 | } | 404 | } |
502 | |||
503 | return; | ||
504 | } | 405 | } |
505 | 406 | ||
506 | 407 | ||
@@ -520,13 +421,8 @@ static void __init toshiba_rbtx4927_irq_isa_init(void) | |||
520 | TOSHIBA_RBTX4927_IRQ_ISA_END); | 421 | TOSHIBA_RBTX4927_IRQ_ISA_END); |
521 | 422 | ||
522 | for (i = TOSHIBA_RBTX4927_IRQ_ISA_BEG; | 423 | for (i = TOSHIBA_RBTX4927_IRQ_ISA_BEG; |
523 | i <= TOSHIBA_RBTX4927_IRQ_ISA_END; i++) { | 424 | i <= TOSHIBA_RBTX4927_IRQ_ISA_END; i++) |
524 | irq_desc[i].status = IRQ_DISABLED; | 425 | set_irq_chip(i, &toshiba_rbtx4927_irq_isa_type); |
525 | irq_desc[i].action = 0; | ||
526 | irq_desc[i].depth = | ||
527 | ((i < TOSHIBA_RBTX4927_IRQ_ISA_MID) ? (4) : (5)); | ||
528 | irq_desc[i].chip = &toshiba_rbtx4927_irq_isa_type; | ||
529 | } | ||
530 | 426 | ||
531 | setup_irq(TOSHIBA_RBTX4927_IRQ_NEST_ISA_ON_IOC, | 427 | setup_irq(TOSHIBA_RBTX4927_IRQ_NEST_ISA_ON_IOC, |
532 | &toshiba_rbtx4927_irq_isa_master); | 428 | &toshiba_rbtx4927_irq_isa_master); |
@@ -536,48 +432,6 @@ static void __init toshiba_rbtx4927_irq_isa_init(void) | |||
536 | /* make sure we are looking at IRR (not ISR) */ | 432 | /* make sure we are looking at IRR (not ISR) */ |
537 | outb(0x0A, 0x20); | 433 | outb(0x0A, 0x20); |
538 | outb(0x0A, 0xA0); | 434 | outb(0x0A, 0xA0); |
539 | |||
540 | return; | ||
541 | } | ||
542 | #endif | ||
543 | |||
544 | |||
545 | #ifdef CONFIG_TOSHIBA_FPCIB0 | ||
546 | static unsigned int toshiba_rbtx4927_irq_isa_startup(unsigned int irq) | ||
547 | { | ||
548 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_ISA_STARTUP, | ||
549 | "irq=%d\n", irq); | ||
550 | |||
551 | if (irq < TOSHIBA_RBTX4927_IRQ_ISA_BEG | ||
552 | || irq > TOSHIBA_RBTX4927_IRQ_ISA_END) { | ||
553 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_EROR, | ||
554 | "bad irq=%d\n", irq); | ||
555 | panic("\n"); | ||
556 | } | ||
557 | |||
558 | toshiba_rbtx4927_irq_isa_enable(irq); | ||
559 | |||
560 | return (0); | ||
561 | } | ||
562 | #endif | ||
563 | |||
564 | |||
565 | #ifdef CONFIG_TOSHIBA_FPCIB0 | ||
566 | static void toshiba_rbtx4927_irq_isa_shutdown(unsigned int irq) | ||
567 | { | ||
568 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_ISA_SHUTDOWN, | ||
569 | "irq=%d\n", irq); | ||
570 | |||
571 | if (irq < TOSHIBA_RBTX4927_IRQ_ISA_BEG | ||
572 | || irq > TOSHIBA_RBTX4927_IRQ_ISA_END) { | ||
573 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_EROR, | ||
574 | "bad irq=%d\n", irq); | ||
575 | panic("\n"); | ||
576 | } | ||
577 | |||
578 | toshiba_rbtx4927_irq_isa_disable(irq); | ||
579 | |||
580 | return; | ||
581 | } | 435 | } |
582 | #endif | 436 | #endif |
583 | 437 | ||
@@ -596,8 +450,6 @@ static void toshiba_rbtx4927_irq_isa_enable(unsigned int irq) | |||
596 | } | 450 | } |
597 | 451 | ||
598 | enable_8259A_irq(irq); | 452 | enable_8259A_irq(irq); |
599 | |||
600 | return; | ||
601 | } | 453 | } |
602 | #endif | 454 | #endif |
603 | 455 | ||
@@ -616,8 +468,6 @@ static void toshiba_rbtx4927_irq_isa_disable(unsigned int irq) | |||
616 | } | 468 | } |
617 | 469 | ||
618 | disable_8259A_irq(irq); | 470 | disable_8259A_irq(irq); |
619 | |||
620 | return; | ||
621 | } | 471 | } |
622 | #endif | 472 | #endif |
623 | 473 | ||
@@ -636,8 +486,6 @@ static void toshiba_rbtx4927_irq_isa_mask_and_ack(unsigned int irq) | |||
636 | } | 486 | } |
637 | 487 | ||
638 | mask_and_ack_8259A(irq); | 488 | mask_and_ack_8259A(irq); |
639 | |||
640 | return; | ||
641 | } | 489 | } |
642 | #endif | 490 | #endif |
643 | 491 | ||
@@ -658,8 +506,6 @@ static void toshiba_rbtx4927_irq_isa_end(unsigned int irq) | |||
658 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) { | 506 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) { |
659 | toshiba_rbtx4927_irq_isa_enable(irq); | 507 | toshiba_rbtx4927_irq_isa_enable(irq); |
660 | } | 508 | } |
661 | |||
662 | return; | ||
663 | } | 509 | } |
664 | #endif | 510 | #endif |
665 | 511 | ||
@@ -668,8 +514,6 @@ void __init arch_init_irq(void) | |||
668 | { | 514 | { |
669 | extern void tx4927_irq_init(void); | 515 | extern void tx4927_irq_init(void); |
670 | 516 | ||
671 | local_irq_disable(); | ||
672 | |||
673 | tx4927_irq_init(); | 517 | tx4927_irq_init(); |
674 | toshiba_rbtx4927_irq_ioc_init(); | 518 | toshiba_rbtx4927_irq_ioc_init(); |
675 | #ifdef CONFIG_TOSHIBA_FPCIB0 | 519 | #ifdef CONFIG_TOSHIBA_FPCIB0 |
@@ -681,8 +525,6 @@ void __init arch_init_irq(void) | |||
681 | #endif | 525 | #endif |
682 | 526 | ||
683 | wbflush(); | 527 | wbflush(); |
684 | |||
685 | return; | ||
686 | } | 528 | } |
687 | 529 | ||
688 | void toshiba_rbtx4927_irq_dump(char *key) | 530 | void toshiba_rbtx4927_irq_dump(char *key) |
@@ -715,7 +557,6 @@ void toshiba_rbtx4927_irq_dump(char *key) | |||
715 | } | 557 | } |
716 | } | 558 | } |
717 | #endif | 559 | #endif |
718 | return; | ||
719 | } | 560 | } |
720 | 561 | ||
721 | void toshiba_rbtx4927_irq_dump_pics(char *s) | 562 | void toshiba_rbtx4927_irq_dump_pics(char *s) |
@@ -780,6 +621,4 @@ void toshiba_rbtx4927_irq_dump_pics(char *s) | |||
780 | level5_s); | 621 | level5_s); |
781 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_INFO, "[%s]\n", | 622 | TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_INFO, "[%s]\n", |
782 | s); | 623 | s); |
783 | |||
784 | return; | ||
785 | } | 624 | } |