diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2007-04-04 15:54:42 +1000 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2007-04-04 15:54:42 +1000 |
commit | f2c8c4c7197ef61c0378ffbeb4649d28bfcbba06 (patch) | |
tree | 287045a1762342bcc07bb1080b5021ed9a4cd0ed /petitboot.c | |
parent | 188f491cdfabc8e01bc483e3652f4f8306311920 (diff) | |
download | talos-petitboot-f2c8c4c7197ef61c0378ffbeb4649d28bfcbba06.tar.gz talos-petitboot-f2c8c4c7197ef61c0378ffbeb4649d28bfcbba06.zip |
Allow petitboot to run udevtrigger on start
Add an option (-u) to run udevtrigger when petitboot is ready for
device discovery. Also add -h to explain what -u does.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'petitboot.c')
-rw-r--r-- | petitboot.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/petitboot.c b/petitboot.c index 84a76f6..d566e3f 100644 --- a/petitboot.c +++ b/petitboot.c @@ -914,8 +914,35 @@ static void sigint(int sig) syscall(__NR_exit); } +static void usage(const char *progname) +{ + fprintf(stderr, "Usage: %s [-u] [-h]\n", progname); +} + int main(int argc, char **argv) { + int c; + int udev_trigger = 0; + + for (;;) { + c = getopt(argc, argv, "u::h"); + if (c == -1) + break; + + switch (c) { + case 'u': + udev_trigger = 1; + break; + case 'h': + usage(argv[0]); + return EXIT_SUCCESS; + default: + fprintf(stderr, "Unknown option '%c'\n", c); + usage(argv[0]); + return EXIT_FAILURE; + } + } + atexit(exitfunc); signal(SIGINT, sigint); @@ -956,7 +983,7 @@ int main(int argc, char **argv) twin_window_queue_paint(pboot_lpane->window); twin_window_queue_paint(pboot_rpane->window); - if (!pboot_start_device_discovery()) { + if (!pboot_start_device_discovery(udev_trigger)) { LOG("Couldn't start device discovery!\n"); return 1; } |