| .. | .. |
|---|
| 356 | 356 | /* |
|---|
| 357 | 357 | * IRQ2 is cascade interrupt to second interrupt controller |
|---|
| 358 | 358 | */ |
|---|
| 359 | | -static struct irqaction sni_rm200_irq2 = { |
|---|
| 360 | | - .handler = no_action, |
|---|
| 361 | | - .name = "cascade", |
|---|
| 362 | | - .flags = IRQF_NO_THREAD, |
|---|
| 363 | | -}; |
|---|
| 364 | 359 | |
|---|
| 365 | 360 | static struct resource sni_rm200_pic1_resource = { |
|---|
| 366 | 361 | .name = "onboard ISA pic1", |
|---|
| .. | .. |
|---|
| 389 | 384 | return IRQ_HANDLED; |
|---|
| 390 | 385 | } |
|---|
| 391 | 386 | |
|---|
| 392 | | -struct irqaction sni_rm200_i8259A_irq = { |
|---|
| 393 | | - .handler = sni_rm200_i8259A_irq_handler, |
|---|
| 394 | | - .name = "onboard ISA", |
|---|
| 395 | | - .flags = IRQF_SHARED |
|---|
| 396 | | -}; |
|---|
| 397 | | - |
|---|
| 398 | 387 | void __init sni_rm200_i8259_irqs(void) |
|---|
| 399 | 388 | { |
|---|
| 400 | 389 | int i; |
|---|
| 401 | 390 | |
|---|
| 402 | | - rm200_pic_master = ioremap_nocache(0x16000020, 4); |
|---|
| 391 | + rm200_pic_master = ioremap(0x16000020, 4); |
|---|
| 403 | 392 | if (!rm200_pic_master) |
|---|
| 404 | 393 | return; |
|---|
| 405 | | - rm200_pic_slave = ioremap_nocache(0x160000a0, 4); |
|---|
| 394 | + rm200_pic_slave = ioremap(0x160000a0, 4); |
|---|
| 406 | 395 | if (!rm200_pic_slave) { |
|---|
| 407 | 396 | iounmap(rm200_pic_master); |
|---|
| 408 | 397 | return; |
|---|
| .. | .. |
|---|
| 417 | 406 | irq_set_chip_and_handler(i, &sni_rm200_i8259A_chip, |
|---|
| 418 | 407 | handle_level_irq); |
|---|
| 419 | 408 | |
|---|
| 420 | | - setup_irq(RM200_I8259A_IRQ_BASE + PIC_CASCADE_IR, &sni_rm200_irq2); |
|---|
| 409 | + if (request_irq(RM200_I8259A_IRQ_BASE + PIC_CASCADE_IR, no_action, |
|---|
| 410 | + IRQF_NO_THREAD, "cascade", NULL)) |
|---|
| 411 | + pr_err("Failed to register cascade interrupt\n"); |
|---|
| 421 | 412 | } |
|---|
| 422 | 413 | |
|---|
| 423 | 414 | |
|---|
| .. | .. |
|---|
| 481 | 472 | irq_set_chip_and_handler(i, &rm200_irq_type, handle_level_irq); |
|---|
| 482 | 473 | sni_hwint = sni_rm200_hwint; |
|---|
| 483 | 474 | change_c0_status(ST0_IM, IE_IRQ0); |
|---|
| 484 | | - setup_irq(SNI_RM200_INT_START + 0, &sni_rm200_i8259A_irq); |
|---|
| 485 | | - setup_irq(SNI_RM200_INT_START + 1, &sni_isa_irq); |
|---|
| 475 | + if (request_irq(SNI_RM200_INT_START + 0, sni_rm200_i8259A_irq_handler, |
|---|
| 476 | + 0, "onboard ISA", NULL)) |
|---|
| 477 | + pr_err("Failed to register onboard ISA interrupt\n"); |
|---|
| 478 | + if (request_irq(SNI_RM200_INT_START + 1, sni_isa_irq_handler, 0, "ISA", |
|---|
| 479 | + NULL)) |
|---|
| 480 | + pr_err("Failed to register ISA interrupt\n"); |
|---|
| 486 | 481 | } |
|---|
| 487 | 482 | |
|---|
| 488 | 483 | void __init sni_rm200_init(void) |
|---|