aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/amdsmb/amdsmb.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/amdsmb/amdsmb.c')
-rw-r--r--sys/dev/amdsmb/amdsmb.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/amdsmb/amdsmb.c b/sys/dev/amdsmb/amdsmb.c
index 565e73cf1f64..3d2e7a5e0c19 100644
--- a/sys/dev/amdsmb/amdsmb.c
+++ b/sys/dev/amdsmb/amdsmb.c
@@ -159,13 +159,13 @@ amdsmb_attach(device_t dev)
mtx_init(&amdsmb_sc->lock, device_get_nameunit(dev), "amdsmb", MTX_DEF);
/* Allocate a new smbus device */
- amdsmb_sc->smbus = device_add_child(dev, "smbus", -1);
+ amdsmb_sc->smbus = device_add_child(dev, "smbus", DEVICE_UNIT_ANY);
if (!amdsmb_sc->smbus) {
amdsmb_detach(dev);
return (EINVAL);
}
- bus_generic_attach(dev);
+ bus_attach_children(dev);
return (0);
}
@@ -174,11 +174,11 @@ static int
amdsmb_detach(device_t dev)
{
struct amdsmb_softc *amdsmb_sc = device_get_softc(dev);
+ int error;
- if (amdsmb_sc->smbus) {
- device_delete_child(dev, amdsmb_sc->smbus);
- amdsmb_sc->smbus = NULL;
- }
+ error = bus_generic_detach(dev);
+ if (error != 0)
+ return (error);
mtx_destroy(&amdsmb_sc->lock);
if (amdsmb_sc->res)