aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pwm/controller
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pwm/controller')
-rw-r--r--sys/dev/pwm/controller/allwinner/aw_pwm.c8
-rw-r--r--sys/dev/pwm/controller/rockchip/rk_pwm.c5
2 files changed, 6 insertions, 7 deletions
diff --git a/sys/dev/pwm/controller/allwinner/aw_pwm.c b/sys/dev/pwm/controller/allwinner/aw_pwm.c
index 8d7e38834fdd..117f3ae17e1b 100644
--- a/sys/dev/pwm/controller/allwinner/aw_pwm.c
+++ b/sys/dev/pwm/controller/allwinner/aw_pwm.c
@@ -188,9 +188,10 @@ skipcfg:
node = ofw_bus_get_node(dev);
OF_device_register_xref(OF_xref_from_node(node), dev);
- sc->busdev = device_add_child(dev, "pwmbus", -1);
+ sc->busdev = device_add_child(dev, "pwmbus", DEVICE_UNIT_ANY);
- return (bus_generic_attach(dev));
+ bus_attach_children(dev);
+ return (0);
fail:
aw_pwm_detach(dev);
@@ -210,9 +211,6 @@ aw_pwm_detach(device_t dev)
return (error);
}
- if (sc->busdev != NULL)
- device_delete_child(dev, sc->busdev);
-
if (sc->res != NULL)
bus_release_resources(dev, aw_pwm_spec, &sc->res);
diff --git a/sys/dev/pwm/controller/rockchip/rk_pwm.c b/sys/dev/pwm/controller/rockchip/rk_pwm.c
index f1f3946e4d59..d05a51e9afb9 100644
--- a/sys/dev/pwm/controller/rockchip/rk_pwm.c
+++ b/sys/dev/pwm/controller/rockchip/rk_pwm.c
@@ -212,9 +212,10 @@ rk_pwm_attach(device_t dev)
node = ofw_bus_get_node(dev);
OF_device_register_xref(OF_xref_from_node(node), dev);
- sc->busdev = device_add_child(dev, "pwmbus", -1);
+ sc->busdev = device_add_child(dev, "pwmbus", DEVICE_UNIT_ANY);
- return (bus_generic_attach(dev));
+ bus_attach_children(dev);
+ return (0);
fail:
rk_pwm_detach(dev);