aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pwm/ofw_pwmbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pwm/ofw_pwmbus.c')
-rw-r--r--sys/dev/pwm/ofw_pwmbus.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/pwm/ofw_pwmbus.c b/sys/dev/pwm/ofw_pwmbus.c
index 2d2c47291bca..913792374fd9 100644
--- a/sys/dev/pwm/ofw_pwmbus.c
+++ b/sys/dev/pwm/ofw_pwmbus.c
@@ -150,7 +150,8 @@ ofw_pwmbus_attach(device_t dev)
if (chan >= sc->base.nchannels)
continue;
- if ((child = ofw_pwmbus_add_child(dev, 0, NULL, -1)) == NULL)
+ if ((child = ofw_pwmbus_add_child(dev, 0, NULL,
+ DEVICE_UNIT_ANY)) == NULL)
continue;
ivars = device_get_ivars(child);
@@ -173,7 +174,8 @@ ofw_pwmbus_attach(device_t dev)
*/
if (!any_children) {
for (chan = 0; chan < sc->base.nchannels; ++chan) {
- child = ofw_pwmbus_add_child(dev, 0, "pwmc", -1);
+ child = ofw_pwmbus_add_child(dev, 0, "pwmc",
+ DEVICE_UNIT_ANY);
if (child == NULL) {
device_printf(dev, "failed to add pwmc child "
" device for channel %u\n", chan);
@@ -184,9 +186,10 @@ ofw_pwmbus_attach(device_t dev)
}
}
bus_enumerate_hinted_children(dev);
- bus_generic_probe(dev);
+ bus_identify_children(dev);
+ bus_attach_children(dev);
- return (bus_generic_attach(dev));
+ return (0);
}
static device_method_t ofw_pwmbus_methods[] = {