diff options
author | raj <raj@FreeBSD.org> | 2010-06-13 12:58:31 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2010-06-13 12:58:31 +0000 |
commit | d3177b8e82b0c47d89a166ebf47bae694c103b3e (patch) | |
tree | b60c8cca2f465e470b8ba86be1b075907e708a53 /sys/dev/fdt/fdtbus.c | |
parent | ecb15dc88ca840496d3c68d2392d5896ea29ab12 (diff) | |
download | FreeBSD-src-d3177b8e82b0c47d89a166ebf47bae694c103b3e.zip FreeBSD-src-d3177b8e82b0c47d89a166ebf47bae694c103b3e.tar.gz |
Provide identify method for the fdtbus(4).
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/dev/fdt/fdtbus.c')
-rw-r--r-- | sys/dev/fdt/fdtbus.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/fdt/fdtbus.c b/sys/dev/fdt/fdtbus.c index 0cf439c..610f213 100644 --- a/sys/dev/fdt/fdtbus.c +++ b/sys/dev/fdt/fdtbus.c @@ -77,6 +77,7 @@ struct fdtbus_softc { /* * Prototypes. */ +static void fdtbus_identify(driver_t *, device_t); static int fdtbus_probe(device_t); static int fdtbus_attach(device_t); @@ -109,6 +110,7 @@ static void newbus_device_from_fdt_node(device_t, phandle_t); */ static device_method_t fdtbus_methods[] = { /* Device interface */ + DEVMETHOD(device_identify, fdtbus_identify), DEVMETHOD(device_probe, fdtbus_probe), DEVMETHOD(device_attach, fdtbus_attach), DEVMETHOD(device_detach, bus_generic_detach), @@ -144,6 +146,14 @@ devclass_t fdtbus_devclass; DRIVER_MODULE(fdtbus, nexus, fdtbus_driver, fdtbus_devclass, 0, 0); +static void +fdtbus_identify(driver_t *driver, device_t parent) +{ + + if (device_find_child(parent, "fdtbus", -1) == NULL) + BUS_ADD_CHILD(parent, 0, "fdtbus", -1); +} + static int fdtbus_probe(device_t dev) { |