From ab058b10eb5deaf7ad00c6a2b7428aaec8d98473 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 19 Jun 2013 23:36:18 +0200 Subject: detect command: Add -a option to detect all devices Signed-off-by: Sascha Hauer --- commands/detect.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'commands') diff --git a/commands/detect.c b/commands/detect.c index 0010a17779..fbce4eb0ce 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; -- cgit v1.2.3