[PATCH] detect command: Add -a option to detect all devices

Sascha Hauer s.hauer at pengutronix.de
Thu Jun 20 10:06:05 EDT 2013


Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 commands/detect.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/commands/detect.c b/commands/detect.c
index 0010a17..fbce4eb 100644
--- a/commands/detect.c
+++ b/commands/detect.c
@@ -28,8 +28,9 @@ static int do_detect(int argc, char *argv[])
 	int opt, i, ret;
 	int option_list = 0;
 	int option_error = 0;
+	int option_all = 0;
 
-	while ((opt = getopt(argc, argv, "el")) > 0) {
+	while ((opt = getopt(argc, argv, "ela")) > 0) {
 		switch (opt) {
 		case 'l':
 			option_list = 1;
@@ -37,6 +38,11 @@ static int do_detect(int argc, char *argv[])
 		case 'e':
 			option_error = 1;
 			break;
+		case 'a':
+			option_all = 1;
+			break;
+		default:
+			return COMMAND_ERROR_USAGE;
 		}
 	}
 
@@ -48,6 +54,15 @@ static int do_detect(int argc, char *argv[])
 		return 0;
 	}
 
+	if (option_all) {
+		for_each_device(dev) {
+			ret = device_detect(dev);
+			if (ret && ret != -ENOSYS && option_error)
+				return ret;
+		}
+		return 0;
+	}
+
 	if (argc == optind)
 		return COMMAND_ERROR_USAGE;
 
-- 
1.8.3.1




More information about the barebox mailing list