summaryrefslogtreecommitdiffstats
path: root/petitboot.c
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2007-04-04 15:54:42 +1000
committerJeremy Kerr <jk@ozlabs.org>2007-04-04 15:54:42 +1000
commitf2c8c4c7197ef61c0378ffbeb4649d28bfcbba06 (patch)
tree287045a1762342bcc07bb1080b5021ed9a4cd0ed /petitboot.c
parent188f491cdfabc8e01bc483e3652f4f8306311920 (diff)
downloadtalos-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.c29
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;
}
OpenPOWER on IntegriCloud