.. | .. |
---|
399 | 399 | .irq_set_type = bcm63xx_external_irq_set_type, |
---|
400 | 400 | }; |
---|
401 | 401 | |
---|
402 | | -static struct irqaction cpu_ip2_cascade_action = { |
---|
403 | | - .handler = no_action, |
---|
404 | | - .name = "cascade_ip2", |
---|
405 | | - .flags = IRQF_NO_THREAD, |
---|
406 | | -}; |
---|
407 | | - |
---|
408 | | -#ifdef CONFIG_SMP |
---|
409 | | -static struct irqaction cpu_ip3_cascade_action = { |
---|
410 | | - .handler = no_action, |
---|
411 | | - .name = "cascade_ip3", |
---|
412 | | - .flags = IRQF_NO_THREAD, |
---|
413 | | -}; |
---|
414 | | -#endif |
---|
415 | | - |
---|
416 | | -static struct irqaction cpu_ext_cascade_action = { |
---|
417 | | - .handler = no_action, |
---|
418 | | - .name = "cascade_extirq", |
---|
419 | | - .flags = IRQF_NO_THREAD, |
---|
420 | | -}; |
---|
421 | | - |
---|
422 | 402 | static void bcm63xx_init_irq(void) |
---|
423 | 403 | { |
---|
424 | 404 | int irq_bits; |
---|
.. | .. |
---|
531 | 511 | |
---|
532 | 512 | void __init arch_init_irq(void) |
---|
533 | 513 | { |
---|
534 | | - int i; |
---|
| 514 | + int i, irq; |
---|
535 | 515 | |
---|
536 | 516 | bcm63xx_init_irq(); |
---|
537 | 517 | mips_cpu_irq_init(); |
---|
.. | .. |
---|
544 | 524 | handle_edge_irq); |
---|
545 | 525 | |
---|
546 | 526 | if (!is_ext_irq_cascaded) { |
---|
547 | | - for (i = 3; i < 3 + ext_irq_count; ++i) |
---|
548 | | - setup_irq(MIPS_CPU_IRQ_BASE + i, &cpu_ext_cascade_action); |
---|
| 527 | + for (i = 3; i < 3 + ext_irq_count; ++i) { |
---|
| 528 | + irq = MIPS_CPU_IRQ_BASE + i; |
---|
| 529 | + if (request_irq(irq, no_action, IRQF_NO_THREAD, |
---|
| 530 | + "cascade_extirq", NULL)) { |
---|
| 531 | + pr_err("Failed to request irq %d (cascade_extirq)\n", |
---|
| 532 | + irq); |
---|
| 533 | + } |
---|
| 534 | + } |
---|
549 | 535 | } |
---|
550 | 536 | |
---|
551 | | - setup_irq(MIPS_CPU_IRQ_BASE + 2, &cpu_ip2_cascade_action); |
---|
| 537 | + irq = MIPS_CPU_IRQ_BASE + 2; |
---|
| 538 | + if (request_irq(irq, no_action, IRQF_NO_THREAD, "cascade_ip2", NULL)) |
---|
| 539 | + pr_err("Failed to request irq %d (cascade_ip2)\n", irq); |
---|
552 | 540 | #ifdef CONFIG_SMP |
---|
553 | 541 | if (is_ext_irq_cascaded) { |
---|
554 | | - setup_irq(MIPS_CPU_IRQ_BASE + 3, &cpu_ip3_cascade_action); |
---|
| 542 | + irq = MIPS_CPU_IRQ_BASE + 3; |
---|
| 543 | + if (request_irq(irq, no_action, IRQF_NO_THREAD, "cascade_ip3", |
---|
| 544 | + NULL)) |
---|
| 545 | + pr_err("Failed to request irq %d (cascade_ip3)\n", irq); |
---|
555 | 546 | bcm63xx_internal_irq_chip.irq_set_affinity = |
---|
556 | 547 | bcm63xx_internal_set_affinity; |
---|
557 | 548 | |
---|