diff options
Diffstat (limited to 'sys/dev/amdpm/amdpm.c')
-rw-r--r-- | sys/dev/amdpm/amdpm.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/amdpm/amdpm.c b/sys/dev/amdpm/amdpm.c index f479c0f5bcdd..d744c0aa5d4b 100644 --- a/sys/dev/amdpm/amdpm.c +++ b/sys/dev/amdpm/amdpm.c @@ -214,13 +214,13 @@ amdpm_attach(device_t dev) mtx_init(&amdpm_sc->lock, device_get_nameunit(dev), "amdpm", MTX_DEF); /* Allocate a new smbus device */ - amdpm_sc->smbus = device_add_child(dev, "smbus", -1); + amdpm_sc->smbus = device_add_child(dev, "smbus", DEVICE_UNIT_ANY); if (!amdpm_sc->smbus) { amdpm_detach(dev); return (EINVAL); } - bus_generic_attach(dev); + bus_attach_children(dev); return (0); } @@ -229,11 +229,11 @@ static int amdpm_detach(device_t dev) { struct amdpm_softc *amdpm_sc = device_get_softc(dev); + int error; - if (amdpm_sc->smbus) { - device_delete_child(dev, amdpm_sc->smbus); - amdpm_sc->smbus = NULL; - } + error = bus_generic_detach(dev); + if (error != 0) + return (error); mtx_destroy(&amdpm_sc->lock); if (amdpm_sc->res) |