diff options
Diffstat (limited to 'sys/dev/pwm/controller/allwinner/aw_pwm.c')
-rw-r--r-- | sys/dev/pwm/controller/allwinner/aw_pwm.c | 8 |
1 files changed, 3 insertions, 5 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); |