diff options
-rw-r--r-- | commands/detect.c | 4 | ||||
-rw-r--r-- | drivers/base/driver.c | 8 | ||||
-rw-r--r-- | include/driver.h | 1 |
3 files changed, 10 insertions, 3 deletions
diff --git a/commands/detect.c b/commands/detect.c index d68d738453..48bab4d020 100644 --- a/commands/detect.c +++ b/commands/detect.c @@ -54,9 +54,7 @@ static int do_detect(int argc, char *argv[]) } if (option_all) { - for_each_device(dev) - device_detect(dev); - + device_detect_all(); return 0; } diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 83260990af..c43a4bde2a 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -140,6 +140,14 @@ int device_detect_by_name(const char *__devname) return ret; } +void device_detect_all(void) +{ + struct device_d *dev; + + for_each_device(dev) + device_detect(dev); +} + static int match(struct driver_d *drv, struct device_d *dev) { int ret; diff --git a/include/driver.h b/include/driver.h index 8617872053..e571fbbec5 100644 --- a/include/driver.h +++ b/include/driver.h @@ -134,6 +134,7 @@ int device_probe(struct device_d *dev); /* detect devices attached to this device (cards, disks,...) */ int device_detect(struct device_d *dev); int device_detect_by_name(const char *devname); +void device_detect_all(void); /* Unregister a device. This function can fail, e.g. when the device * has children. |