| .. | .. |
|---|
| 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 | |
|---|