diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-08 18:53:49 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-08 18:53:49 +0200 |
commit | 1572f520ccfe9e45d4cb9b18bb7b728eb2bbb571 (patch) | |
tree | 68440f6f951946ae6c531711157fa1ada022e5e3 | |
parent | 31c765081dc41f158786545fbea9294be4685bd2 (diff) | |
download | busybox-w32-1572f520ccfe9e45d4cb9b18bb7b728eb2bbb571.tar.gz busybox-w32-1572f520ccfe9e45d4cb9b18bb7b728eb2bbb571.tar.bz2 busybox-w32-1572f520ccfe9e45d4cb9b18bb7b728eb2bbb571.zip |
watchdog: do not use argc, other cleanups
function old new delta
watchdog_main 298 291 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | miscutils/watchdog.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/miscutils/watchdog.c b/miscutils/watchdog.c index 95e2f1a53..d379a97f4 100644 --- a/miscutils/watchdog.c +++ b/miscutils/watchdog.c | |||
@@ -35,8 +35,21 @@ | |||
35 | //usage: "\nUse 500ms to specify period in milliseconds" | 35 | //usage: "\nUse 500ms to specify period in milliseconds" |
36 | 36 | ||
37 | #include "libbb.h" | 37 | #include "libbb.h" |
38 | #include "linux/types.h" /* for __u32 */ | 38 | #include <linux/types.h> /* for __u32 */ |
39 | #include "linux/watchdog.h" | 39 | #include <linux/watchdog.h> |
40 | |||
41 | #ifndef WDIOC_SETOPTIONS | ||
42 | # define WDIOC_SETOPTIONS 0x5704 | ||
43 | #endif | ||
44 | #ifndef WDIOC_SETTIMEOUT | ||
45 | # define WDIOC_SETTIMEOUT 0x5706 | ||
46 | #endif | ||
47 | #ifndef WDIOC_GETTIMEOUT | ||
48 | # define WDIOC_GETTIMEOUT 0x5707 | ||
49 | #endif | ||
50 | #ifndef WDIOS_ENABLECARD | ||
51 | # define WDIOS_ENABLECARD 2 | ||
52 | #endif | ||
40 | 53 | ||
41 | #define OPT_FOREGROUND (1 << 0) | 54 | #define OPT_FOREGROUND (1 << 0) |
42 | #define OPT_STIMER (1 << 1) | 55 | #define OPT_STIMER (1 << 1) |
@@ -73,8 +86,9 @@ static void watchdog_open(const char* device) | |||
73 | } | 86 | } |
74 | 87 | ||
75 | int watchdog_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 88 | int watchdog_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
76 | int watchdog_main(int argc, char **argv) | 89 | int watchdog_main(int argc UNUSED_PARAM, char **argv) |
77 | { | 90 | { |
91 | static const int enable = WDIOS_ENABLECARD; | ||
78 | static const struct suffix_mult suffixes[] = { | 92 | static const struct suffix_mult suffixes[] = { |
79 | { "ms", 1 }, | 93 | { "ms", 1 }, |
80 | { "", 1000 }, | 94 | { "", 1000 }, |
@@ -99,6 +113,8 @@ int watchdog_main(int argc, char **argv) | |||
99 | if (!(opts & OPT_FOREGROUND)) | 113 | if (!(opts & OPT_FOREGROUND)) |
100 | bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv); | 114 | bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv); |
101 | 115 | ||
116 | /* maybe bb_logenv_override(); here for LOGGING=syslog to work? */ | ||
117 | |||
102 | if (opts & OPT_HTIMER) | 118 | if (opts & OPT_HTIMER) |
103 | htimer_duration = xatou_sfx(ht_arg, suffixes); | 119 | htimer_duration = xatou_sfx(ht_arg, suffixes); |
104 | stimer_duration = htimer_duration / 2; | 120 | stimer_duration = htimer_duration / 2; |
@@ -107,22 +123,12 @@ int watchdog_main(int argc, char **argv) | |||
107 | 123 | ||
108 | bb_signals(BB_FATAL_SIGS, shutdown_on_signal); | 124 | bb_signals(BB_FATAL_SIGS, shutdown_on_signal); |
109 | 125 | ||
110 | watchdog_open(argv[argc - 1]); | 126 | watchdog_open(argv[optind]); |
111 | 127 | ||
112 | /* WDIOC_SETTIMEOUT takes seconds, not milliseconds */ | 128 | /* WDIOC_SETTIMEOUT takes seconds, not milliseconds */ |
113 | htimer_duration = htimer_duration / 1000; | 129 | htimer_duration = htimer_duration / 1000; |
114 | #ifndef WDIOC_SETTIMEOUT | 130 | ioctl_or_warn(3, WDIOC_SETOPTIONS, (void*) &enable); |
115 | # error WDIOC_SETTIMEOUT is not defined, cannot compile watchdog applet | ||
116 | #else | ||
117 | # if defined WDIOC_SETOPTIONS && defined WDIOS_ENABLECARD | ||
118 | { | ||
119 | static const int enable = WDIOS_ENABLECARD; | ||
120 | ioctl_or_warn(3, WDIOC_SETOPTIONS, (void*) &enable); | ||
121 | } | ||
122 | # endif | ||
123 | ioctl_or_warn(3, WDIOC_SETTIMEOUT, &htimer_duration); | 131 | ioctl_or_warn(3, WDIOC_SETTIMEOUT, &htimer_duration); |
124 | #endif | ||
125 | |||
126 | #if 0 | 132 | #if 0 |
127 | ioctl_or_warn(3, WDIOC_GETTIMEOUT, &htimer_duration); | 133 | ioctl_or_warn(3, WDIOC_GETTIMEOUT, &htimer_duration); |
128 | printf("watchdog: SW timer is %dms, HW timer is %ds\n", | 134 | printf("watchdog: SW timer is %dms, HW timer is %ds\n", |