Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/vmd/vmd.c
Show First 20 Lines • Show All 617 Lines • ▼ Show 20 Lines | vmd_setup_intr(device_t dev, device_t child, struct resource *irq, | ||||
return (bus_generic_setup_intr(dev, child, irq, flags, filter, intr, | return (bus_generic_setup_intr(dev, child, irq, flags, filter, intr, | ||||
arg, cookiep)); | arg, cookiep)); | ||||
} | } | ||||
static int | static int | ||||
vmd_teardown_intr(device_t dev, device_t child, struct resource *irq, | vmd_teardown_intr(device_t dev, device_t child, struct resource *irq, | ||||
void *cookie) | void *cookie) | ||||
{ | { | ||||
struct vmd_irq_handler *elm, *tmp;; | struct vmd_irq_handler *elm, *tmp; | ||||
struct vmd_softc *sc; | struct vmd_softc *sc; | ||||
sc = device_get_softc(dev); | sc = device_get_softc(dev); | ||||
TAILQ_FOREACH_SAFE(elm, &sc->vmd_irq[0].vmd_list, vmd_link, tmp) { | TAILQ_FOREACH_SAFE(elm, &sc->vmd_irq[0].vmd_list, vmd_link, tmp) { | ||||
if (elm->vmd_child == child && | if (elm->vmd_child == child && | ||||
elm->vmd_rid == rman_get_rid(irq)) { | elm->vmd_rid == rman_get_rid(irq)) { | ||||
TAILQ_REMOVE(&sc->vmd_irq[0].vmd_list, elm, vmd_link); | TAILQ_REMOVE(&sc->vmd_irq[0].vmd_list, elm, vmd_link); | ||||
free(elm, M_DEVBUF); | free(elm, M_DEVBUF); | ||||
▲ Show 20 Lines • Show All 50 Lines • Show Last 20 Lines |