diff --git a/sys/arm/ti/cpsw/if_cpsw.c b/sys/arm/ti/cpsw/if_cpsw.c --- a/sys/arm/ti/cpsw/if_cpsw.c +++ b/sys/arm/ti/cpsw/if_cpsw.c @@ -965,7 +965,7 @@ if (error != 0) return (error); - return (device_delete_children(dev)); + return (0); } static phandle_t diff --git a/sys/dev/cardbus/cardbus.c b/sys/dev/cardbus/cardbus.c --- a/sys/dev/cardbus/cardbus.c +++ b/sys/dev/cardbus/cardbus.c @@ -245,8 +245,6 @@ bus_topo_lock(); err = bus_generic_detach(cbdev); - if (err == 0) - err = device_delete_children(cbdev); bus_topo_unlock(); if (err) return (err); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -2814,7 +2814,6 @@ rc = bus_generic_detach(dev); if (rc) return (rc); - device_delete_children(dev); sysctl_ctx_free(&pi->ctx); begin_vi_detach(sc, &pi->vi[0]); diff --git a/sys/dev/dpaa2/dpaa2_mc.c b/sys/dev/dpaa2/dpaa2_mc.c --- a/sys/dev/dpaa2/dpaa2_mc.c +++ b/sys/dev/dpaa2/dpaa2_mc.c @@ -292,7 +292,7 @@ if (dinfo) free(dinfo, M_DPAA2_MC); - return (device_delete_children(dev)); + return (0); } /* diff --git a/sys/dev/dpaa2/dpaa2_rc.c b/sys/dev/dpaa2/dpaa2_rc.c --- a/sys/dev/dpaa2/dpaa2_rc.c +++ b/sys/dev/dpaa2/dpaa2_rc.c @@ -114,7 +114,7 @@ if (dinfo) free(dinfo, M_DPAA2_RC); - return (device_delete_children(dev)); + return (0); } static int diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -315,16 +315,10 @@ int gpiobus_detach_bus(device_t dev) { - int err; - #ifdef FDT ofw_gpiobus_unregister_provider(dev); #endif - err = bus_generic_detach(dev); - if (err != 0) - return (err); - - return (device_delete_children(dev)); + return (bus_generic_detach(dev)); } int @@ -584,8 +578,6 @@ if ((err = bus_detach_children(dev)) != 0) return (err); - if ((err = device_delete_children(dev)) != 0) - return (err); rman_fini(&sc->sc_intr_rman); if (sc->sc_pins) { diff --git a/sys/dev/hid/hidbus.c b/sys/dev/hid/hidbus.c --- a/sys/dev/hid/hidbus.c +++ b/sys/dev/hid/hidbus.c @@ -297,8 +297,7 @@ if (is_bus) { /* If hidbus is passed, delete all children. */ - bus_generic_detach(bus); - device_delete_children(bus); + error = bus_generic_detach(bus); } else { /* * If hidbus child is passed, delete all hidbus children diff --git a/sys/dev/ida/ida.c b/sys/dev/ida/ida.c --- a/sys/dev/ida/ida.c +++ b/sys/dev/ida/ida.c @@ -346,9 +346,6 @@ ida = (struct ida_softc *)device_get_softc(dev); error = bus_generic_detach(dev); - if (error) - return (error); - error = device_delete_children(dev); if (error) return (error); diff --git a/sys/dev/iicbus/controller/opencores/iicoc_pci.c b/sys/dev/iicbus/controller/opencores/iicoc_pci.c --- a/sys/dev/iicbus/controller/opencores/iicoc_pci.c +++ b/sys/dev/iicbus/controller/opencores/iicoc_pci.c @@ -50,7 +50,6 @@ struct iicoc_softc *sc; sc = device_get_softc(dev); - device_delete_children(dev); bus_generic_detach(dev); bus_release_resource(dev, SYS_RES_MEMORY, sc->mem_rid, sc->mem_res); mtx_destroy(&sc->sc_mtx); diff --git a/sys/dev/iicbus/iicsmb.c b/sys/dev/iicbus/iicsmb.c --- a/sys/dev/iicbus/iicsmb.c +++ b/sys/dev/iicbus/iicsmb.c @@ -166,7 +166,6 @@ struct iicsmb_softc *sc = (struct iicsmb_softc *)device_get_softc(dev); bus_generic_detach(dev); - device_delete_children(dev); mtx_destroy(&sc->lock); return (0); diff --git a/sys/dev/nvdimm/nvdimm_acpi.c b/sys/dev/nvdimm/nvdimm_acpi.c --- a/sys/dev/nvdimm/nvdimm_acpi.c +++ b/sys/dev/nvdimm/nvdimm_acpi.c @@ -206,7 +206,6 @@ { struct nvdimm_root_dev *root; struct SPA_mapping *spa, *next; - int error; root = device_get_softc(dev); SLIST_FOREACH_SAFE(spa, &root->spas, link, next) { @@ -215,11 +214,7 @@ SLIST_REMOVE_HEAD(&root->spas, link); free(spa, M_NVDIMM_ACPI); } - error = bus_generic_detach(dev); - if (error != 0) - return (error); - error = device_delete_children(dev); - return (error); + return (bus_generic_detach(dev)); } static int diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -4510,9 +4510,7 @@ return (error); sc = device_get_softc(dev); error = bus_release_resource(dev, PCI_RES_BUS, 0, sc->sc_bus); - if (error) - return (error); - return (device_delete_children(dev)); + return (error); } static void diff --git a/sys/dev/superio/superio.c b/sys/dev/superio/superio.c --- a/sys/dev/superio/superio.c +++ b/sys/dev/superio/superio.c @@ -740,7 +740,6 @@ return (error); if (sc->chardev != NULL) destroy_dev(sc->chardev); - device_delete_children(dev); bus_release_resource(dev, SYS_RES_IOPORT, sc->io_rid, sc->io_res); mtx_destroy(&sc->conf_lock); return (0); diff --git a/sys/dev/usb/misc/cp2112.c b/sys/dev/usb/misc/cp2112.c --- a/sys/dev/usb/misc/cp2112.c +++ b/sys/dev/usb/misc/cp2112.c @@ -1345,7 +1345,6 @@ err = bus_generic_detach(dev); if (err != 0) return (err); - device_delete_children(dev); mtx_lock(&sc->io.lock); usbd_transfer_stop(sc->xfers[CP2112_INTR_IN]); diff --git a/sys/dev/usb/misc/i2ctinyusb.c b/sys/dev/usb/misc/i2ctinyusb.c --- a/sys/dev/usb/misc/i2ctinyusb.c +++ b/sys/dev/usb/misc/i2ctinyusb.c @@ -193,7 +193,6 @@ err = bus_generic_detach(dev); if (err != 0) return (err); - device_delete_children(dev); mtx_destroy(&sc->sc_mtx); diff --git a/sys/dev/vmd/vmd.c b/sys/dev/vmd/vmd.c --- a/sys/dev/vmd/vmd.c +++ b/sys/dev/vmd/vmd.c @@ -399,9 +399,6 @@ int error; error = bus_generic_detach(dev); - if (error) - return (error); - error = device_delete_children(dev); if (error) return (error); if (sc->vmd_msix_count == 0)