mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 09:41:03 -04:00
Remove now-redundant calls to device_delete_child
Deleting a child explicitly before calling bus_generic_detach is now redundant, so remove those calls and rely on bus_generic_detach to delete children instead. Differential Revision: https://reviews.freebsd.org/D47961
This commit is contained in:
parent
cf416f56eb
commit
4e62c3cafa
28 changed files with 6 additions and 150 deletions
|
|
@ -811,10 +811,7 @@ emac_detach(device_t dev)
|
|||
bus_teardown_intr(sc->emac_dev, sc->emac_irq,
|
||||
sc->emac_intrhand);
|
||||
|
||||
if (sc->emac_miibus != NULL) {
|
||||
device_delete_child(sc->emac_dev, sc->emac_miibus);
|
||||
bus_generic_detach(sc->emac_dev);
|
||||
}
|
||||
bus_generic_detach(sc->emac_dev);
|
||||
|
||||
if (sc->emac_clk != NULL)
|
||||
clk_disable(sc->emac_clk);
|
||||
|
|
|
|||
|
|
@ -761,10 +761,6 @@ ae_detach(device_t dev)
|
|||
taskqueue_free(sc->tq);
|
||||
sc->tq = NULL;
|
||||
}
|
||||
if (sc->miibus != NULL) {
|
||||
device_delete_child(dev, sc->miibus);
|
||||
sc->miibus = NULL;
|
||||
}
|
||||
bus_generic_detach(sc->dev);
|
||||
ae_dma_free(sc);
|
||||
if (sc->intrhand != NULL) {
|
||||
|
|
|
|||
|
|
@ -686,10 +686,6 @@ age_detach(device_t dev)
|
|||
sc->age_tq = NULL;
|
||||
}
|
||||
|
||||
if (sc->age_miibus != NULL) {
|
||||
device_delete_child(dev, sc->age_miibus);
|
||||
sc->age_miibus = NULL;
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
age_dma_free(sc);
|
||||
|
||||
|
|
|
|||
|
|
@ -1699,10 +1699,6 @@ alc_detach(device_t dev)
|
|||
sc->alc_tq = NULL;
|
||||
}
|
||||
|
||||
if (sc->alc_miibus != NULL) {
|
||||
device_delete_child(dev, sc->alc_miibus);
|
||||
sc->alc_miibus = NULL;
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
alc_dma_free(sc);
|
||||
|
||||
|
|
|
|||
|
|
@ -711,10 +711,6 @@ ale_detach(device_t dev)
|
|||
sc->ale_tq = NULL;
|
||||
}
|
||||
|
||||
if (sc->ale_miibus != NULL) {
|
||||
device_delete_child(dev, sc->ale_miibus);
|
||||
sc->ale_miibus = NULL;
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
ale_dma_free(sc);
|
||||
|
||||
|
|
|
|||
|
|
@ -2539,8 +2539,6 @@ dc_detach(device_t dev)
|
|||
callout_drain(&sc->dc_wdog_ch);
|
||||
ether_ifdetach(ifp);
|
||||
}
|
||||
if (sc->dc_miibus)
|
||||
device_delete_child(dev, sc->dc_miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->dc_intrhand)
|
||||
|
|
|
|||
|
|
@ -656,10 +656,6 @@ dwc_detach(device_t dev)
|
|||
ether_ifdetach(sc->ifp);
|
||||
}
|
||||
|
||||
if (sc->miibus != NULL) {
|
||||
device_delete_child(dev, sc->miibus);
|
||||
sc->miibus = NULL;
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
|
||||
/* Free DMA descriptors */
|
||||
|
|
|
|||
|
|
@ -1216,8 +1216,6 @@ eqos_detach(device_t dev)
|
|||
ether_ifdetach(sc->ifp);
|
||||
}
|
||||
|
||||
if (sc->miibus)
|
||||
device_delete_child(dev, sc->miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->irq_handle)
|
||||
|
|
|
|||
|
|
@ -370,8 +370,6 @@ et_detach(device_t dev)
|
|||
callout_drain(&sc->sc_tick);
|
||||
}
|
||||
|
||||
if (sc->sc_miibus != NULL)
|
||||
device_delete_child(dev, sc->sc_miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->sc_irq_handle != NULL)
|
||||
|
|
|
|||
|
|
@ -933,8 +933,6 @@ fxp_release(struct fxp_softc *sc)
|
|||
FXP_LOCK_ASSERT(sc, MA_NOTOWNED);
|
||||
KASSERT(sc->ih == NULL,
|
||||
("fxp_release() called with intr handle still active"));
|
||||
if (sc->miibus)
|
||||
device_delete_child(sc->dev, sc->miibus);
|
||||
bus_generic_detach(sc->dev);
|
||||
ifmedia_removeall(&sc->sc_media);
|
||||
if (sc->fxp_desc.cbl_list) {
|
||||
|
|
|
|||
|
|
@ -279,17 +279,7 @@ static int ips_diskdev_init(ips_softc_t *sc)
|
|||
|
||||
static int ips_diskdev_free(ips_softc_t *sc)
|
||||
{
|
||||
int i;
|
||||
int error = 0;
|
||||
for(i = 0; i < IPS_MAX_NUM_DRIVES; i++){
|
||||
if(sc->diskdev[i]) {
|
||||
error = device_delete_child(sc->dev, sc->diskdev[i]);
|
||||
if(error)
|
||||
return error;
|
||||
}
|
||||
}
|
||||
bus_generic_detach(sc->dev);
|
||||
return 0;
|
||||
return (bus_generic_detach(sc->dev));
|
||||
}
|
||||
|
||||
/* ips_timeout is periodically called to make sure no commands sent
|
||||
|
|
|
|||
|
|
@ -928,10 +928,6 @@ jme_detach(device_t dev)
|
|||
sc->jme_tq = NULL;
|
||||
}
|
||||
|
||||
if (sc->jme_miibus != NULL) {
|
||||
device_delete_child(dev, sc->jme_miibus);
|
||||
sc->jme_miibus = NULL;
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
jme_dma_free(sc);
|
||||
|
||||
|
|
|
|||
|
|
@ -2020,17 +2020,6 @@ msk_detach(device_t dev)
|
|||
MSK_IF_LOCK(sc_if);
|
||||
}
|
||||
|
||||
/*
|
||||
* We're generally called from mskc_detach() which is using
|
||||
* device_delete_child() to get to here. It's already trashed
|
||||
* miibus for us, so don't do it here or we'll panic.
|
||||
*
|
||||
* if (sc_if->msk_miibus != NULL) {
|
||||
* device_delete_child(dev, sc_if->msk_miibus);
|
||||
* sc_if->msk_miibus = NULL;
|
||||
* }
|
||||
*/
|
||||
|
||||
msk_rx_dma_jfree(sc_if);
|
||||
msk_txrx_dma_free(sc_if);
|
||||
bus_generic_detach(dev);
|
||||
|
|
@ -2058,15 +2047,7 @@ mskc_detach(device_t dev)
|
|||
sc = device_get_softc(dev);
|
||||
KASSERT(mtx_initialized(&sc->msk_mtx), ("msk mutex not initialized"));
|
||||
|
||||
if (device_is_alive(dev)) {
|
||||
if (sc->msk_devs[MSK_PORT_A] != NULL) {
|
||||
device_delete_child(dev, sc->msk_devs[MSK_PORT_A]);
|
||||
}
|
||||
if (sc->msk_devs[MSK_PORT_B] != NULL) {
|
||||
device_delete_child(dev, sc->msk_devs[MSK_PORT_B]);
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
|
||||
/* Disable all interrupts. */
|
||||
CSR_WRITE_4(sc, B0_IMSK, 0);
|
||||
|
|
|
|||
|
|
@ -711,8 +711,6 @@ nfe_detach(device_t dev)
|
|||
nfe_set_macaddr(sc, eaddr);
|
||||
if_free(ifp);
|
||||
}
|
||||
if (sc->nfe_miibus)
|
||||
device_delete_child(dev, sc->nfe_miibus);
|
||||
bus_generic_detach(dev);
|
||||
if (sc->nfe_tq != NULL) {
|
||||
taskqueue_drain(sc->nfe_tq, &sc->nfe_int_task);
|
||||
|
|
|
|||
|
|
@ -999,10 +999,6 @@ nge_detach(device_t dev)
|
|||
ether_ifdetach(ifp);
|
||||
}
|
||||
|
||||
if (sc->nge_miibus != NULL) {
|
||||
device_delete_child(dev, sc->nge_miibus);
|
||||
sc->nge_miibus = NULL;
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
if (sc->nge_intrhand != NULL)
|
||||
bus_teardown_intr(dev, sc->nge_irq, sc->nge_intrhand);
|
||||
|
|
|
|||
|
|
@ -275,42 +275,12 @@ int
|
|||
cbb_detach(device_t brdev)
|
||||
{
|
||||
struct cbb_softc *sc = device_get_softc(brdev);
|
||||
device_t *devlist;
|
||||
int tmp, tries, error, numdevs;
|
||||
int error;
|
||||
|
||||
/*
|
||||
* Before we delete the children (which we have to do because
|
||||
* attach doesn't check for children busses correctly), we have
|
||||
* to detach the children. Even if we didn't need to delete the
|
||||
* children, we have to detach them.
|
||||
*/
|
||||
error = bus_generic_detach(brdev);
|
||||
if (error != 0)
|
||||
return (error);
|
||||
|
||||
/*
|
||||
* Since the attach routine doesn't search for children before it
|
||||
* attaches them to this device, we must delete them here in order
|
||||
* for the kldload/unload case to work. If we failed to do that, then
|
||||
* we'd get duplicate devices when cbb.ko was reloaded.
|
||||
*/
|
||||
tries = 10;
|
||||
do {
|
||||
error = device_get_children(brdev, &devlist, &numdevs);
|
||||
if (error == 0)
|
||||
break;
|
||||
/*
|
||||
* Try hard to cope with low memory.
|
||||
*/
|
||||
if (error == ENOMEM) {
|
||||
pause("cbbnomem", 1);
|
||||
continue;
|
||||
}
|
||||
} while (tries-- > 0);
|
||||
for (tmp = 0; tmp < numdevs; tmp++)
|
||||
device_delete_child(brdev, devlist[tmp]);
|
||||
free(devlist, M_TEMP);
|
||||
|
||||
/* Turn off the interrupts */
|
||||
cbb_set(sc, CBB_SOCKET_MASK, 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -1803,8 +1803,6 @@ re_detach(device_t dev)
|
|||
if_setflagbits(ifp, 0, IFF_UP);
|
||||
ether_ifdetach(ifp);
|
||||
}
|
||||
if (sc->rl_miibus)
|
||||
device_delete_child(dev, sc->rl_miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -882,8 +882,6 @@ rl_detach(device_t dev)
|
|||
#if 0
|
||||
sc->suspended = 1;
|
||||
#endif
|
||||
if (sc->rl_miibus)
|
||||
device_delete_child(dev, sc->rl_miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->rl_intrhand[0])
|
||||
|
|
|
|||
|
|
@ -675,8 +675,6 @@ sge_detach(device_t dev)
|
|||
SGE_UNLOCK(sc);
|
||||
callout_drain(&sc->sge_stat_ch);
|
||||
}
|
||||
if (sc->sge_miibus)
|
||||
device_delete_child(dev, sc->sge_miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->sge_intrhand)
|
||||
|
|
|
|||
|
|
@ -1146,8 +1146,6 @@ sis_detach(device_t dev)
|
|||
callout_drain(&sc->sis_stat_ch);
|
||||
ether_ifdetach(ifp);
|
||||
}
|
||||
if (sc->sis_miibus)
|
||||
device_delete_child(dev, sc->sis_miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->sis_intrhand)
|
||||
|
|
|
|||
|
|
@ -1771,15 +1771,6 @@ sk_detach(device_t dev)
|
|||
ether_ifdetach(ifp);
|
||||
SK_IF_LOCK(sc_if);
|
||||
}
|
||||
/*
|
||||
* We're generally called from skc_detach() which is using
|
||||
* device_delete_child() to get to here. It's already trashed
|
||||
* miibus for us, so don't do it here or we'll panic.
|
||||
*/
|
||||
/*
|
||||
if (sc_if->sk_miibus != NULL)
|
||||
device_delete_child(dev, sc_if->sk_miibus);
|
||||
*/
|
||||
bus_generic_detach(dev);
|
||||
sk_dma_jumbo_free(sc_if);
|
||||
sk_dma_free(sc_if);
|
||||
|
|
@ -1798,15 +1789,7 @@ skc_detach(device_t dev)
|
|||
sc = device_get_softc(dev);
|
||||
KASSERT(mtx_initialized(&sc->sk_mtx), ("sk mutex not initialized"));
|
||||
|
||||
if (device_is_alive(dev)) {
|
||||
if (sc->sk_devs[SK_PORT_A] != NULL) {
|
||||
device_delete_child(dev, sc->sk_devs[SK_PORT_A]);
|
||||
}
|
||||
if (sc->sk_devs[SK_PORT_B] != NULL) {
|
||||
device_delete_child(dev, sc->sk_devs[SK_PORT_B]);
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->sk_intrhand)
|
||||
bus_teardown_intr(dev, sc->sk_res[1], sc->sk_intrhand);
|
||||
|
|
|
|||
|
|
@ -450,10 +450,7 @@ smc_detach(device_t dev)
|
|||
if_free(sc->smc_ifp);
|
||||
}
|
||||
|
||||
if (sc->smc_miibus != NULL) {
|
||||
device_delete_child(sc->smc_dev, sc->smc_miibus);
|
||||
bus_generic_detach(sc->smc_dev);
|
||||
}
|
||||
bus_generic_detach(sc->smc_dev);
|
||||
|
||||
if (sc->smc_reg != NULL) {
|
||||
type = SYS_RES_IOPORT;
|
||||
|
|
|
|||
|
|
@ -1074,8 +1074,6 @@ ste_detach(device_t dev)
|
|||
STE_UNLOCK(sc);
|
||||
callout_drain(&sc->ste_callout);
|
||||
}
|
||||
if (sc->ste_miibus)
|
||||
device_delete_child(dev, sc->ste_miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->ste_intrhand)
|
||||
|
|
|
|||
|
|
@ -672,10 +672,6 @@ stge_detach(device_t dev)
|
|||
ether_ifdetach(ifp);
|
||||
}
|
||||
|
||||
if (sc->sc_miibus != NULL) {
|
||||
device_delete_child(dev, sc->sc_miibus);
|
||||
sc->sc_miibus = NULL;
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
stge_dma_free(sc);
|
||||
|
||||
|
|
|
|||
|
|
@ -1177,8 +1177,6 @@ vge_detach(device_t dev)
|
|||
VGE_UNLOCK(sc);
|
||||
callout_drain(&sc->vge_watchdog);
|
||||
}
|
||||
if (sc->vge_miibus)
|
||||
device_delete_child(dev, sc->vge_miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->vge_intrhand)
|
||||
|
|
|
|||
|
|
@ -838,8 +838,6 @@ vr_detach(device_t dev)
|
|||
taskqueue_drain(taskqueue_fast, &sc->vr_inttask);
|
||||
ether_ifdetach(ifp);
|
||||
}
|
||||
if (sc->vr_miibus)
|
||||
device_delete_child(dev, sc->vr_miibus);
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->vr_intrhand)
|
||||
|
|
|
|||
|
|
@ -506,10 +506,6 @@ vte_detach(device_t dev)
|
|||
ether_ifdetach(ifp);
|
||||
}
|
||||
|
||||
if (sc->vte_miibus != NULL) {
|
||||
device_delete_child(dev, sc->vte_miibus);
|
||||
sc->vte_miibus = NULL;
|
||||
}
|
||||
bus_generic_detach(dev);
|
||||
|
||||
if (sc->vte_intrhand != NULL) {
|
||||
|
|
|
|||
|
|
@ -1572,8 +1572,6 @@ xl_detach(device_t dev)
|
|||
callout_drain(&sc->xl_tick_callout);
|
||||
ether_ifdetach(ifp);
|
||||
}
|
||||
if (sc->xl_miibus)
|
||||
device_delete_child(dev, sc->xl_miibus);
|
||||
bus_generic_detach(dev);
|
||||
ifmedia_removeall(&sc->ifmedia);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue