summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2017-11-23 20:37:47 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2017-12-01 12:33:33 +0100
commit3edbc17f1ab1a13b6ddd7fcb4dee596ab41ae0b1 (patch)
tree6e4fee43736e5351e8d2c3625636c6b86eb10681
parentf754335eb9b18a6c79098562246e1a0afe56529f (diff)
downloadbarebox-3edbc17f1ab1a13b6ddd7fcb4dee596ab41ae0b1.tar.gz
barebox-3edbc17f1ab1a13b6ddd7fcb4dee596ab41ae0b1.tar.xz
driver: Add device_detect_all() function
Add a device_detect_all function to detect all devices and use it in the detect command. This makes the functionality reusable in other code. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--commands/detect.c4
-rw-r--r--drivers/base/driver.c8
-rw-r--r--include/driver.h1
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.