Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/pci/pci_host_generic.c
| Show First 20 Lines • Show All 244 Lines • ▼ Show 20 Lines | |||||
| err_resource: | err_resource: | ||||
| bus_dma_tag_destroy(sc->dmat); | bus_dma_tag_destroy(sc->dmat); | ||||
| return (error); | return (error); | ||||
| } | } | ||||
| int | int | ||||
| pci_host_generic_core_detach(device_t dev) | pci_host_generic_core_detach(device_t dev) | ||||
| { | { | ||||
| struct generic_pcie_core_softc *sc; | int error; | ||||
| int error, rid, tuple; | |||||
| sc = device_get_softc(dev); | |||||
| error = bus_generic_detach(dev); | error = bus_generic_detach(dev); | ||||
| if (error != 0) | if (error != 0) | ||||
| return (error); | return (error); | ||||
| return (pci_host_generic_core_free(dev)); | |||||
| } | |||||
| int | |||||
| pci_host_generic_core_free(device_t dev) | |||||
| { | |||||
| struct generic_pcie_core_softc *sc; | |||||
| int rid, tuple; | |||||
| sc = device_get_softc(dev); | |||||
| for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) { | for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) { | ||||
| rid = sc->ranges[tuple].rid; | rid = sc->ranges[tuple].rid; | ||||
| if (sc->ranges[tuple].size == 0) { | if (sc->ranges[tuple].size == 0) { | ||||
| MPASS(sc->ranges[tuple].res == NULL); | MPASS(sc->ranges[tuple].res == NULL); | ||||
| continue; /* empty range element */ | continue; /* empty range element */ | ||||
| } | } | ||||
| MPASS(rid != -1); | MPASS(rid != -1); | ||||
| ▲ Show 20 Lines • Show All 425 Lines • Show Last 20 Lines | |||||