| 476 | } |
| 477 | |
| 478 | static int |
| 479 | nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags, |
| 480 | driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep) |
| 481 | { |
| 482 | #ifdef INTRNG |
| 483 | return (intr_setup_irq(child, res, filt, intr, arg, flags, cookiep)); |
| 484 | #else |
| 485 | int irq; |
| 486 | register_t s; |
| 487 | |
| 488 | s = intr_disable(); |
| 489 | irq = rman_get_start(res); |
| 490 | if (irq >= NUM_MIPS_IRQS) { |
| 491 | intr_restore(s); |
| 492 | return (0); |
| 493 | } |
| 494 | |
| 495 | cpu_establish_hardintr(device_get_nameunit(child), filt, intr, arg, |
| 496 | irq, flags, cookiep); |
| 497 | intr_restore(s); |
| 498 | |
| 499 | return (0); |
| 500 | #endif |
| 501 | } |
| 502 | |
| 503 | static int |
| 504 | nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih) |
nothing calls this directly
no test coverage detected