result = DEVICE_PROBE(child); hereif child is a nexus device ,then like polystate in OOP,it will call nexus's DEVMETHOD :nexus_probe, it is really great:) nexus_probe in device_probe_child(device_t dev, device_t child) in subr_bus.c static device_method_t nexus_methods[] = { DEVMETHOD(device_probe, nexus_probe), In nexus.c -- we who r about to die,salute u!