summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSami Kerola2016-07-17 17:14:16 +0200
committerSami Kerola2017-02-05 00:39:37 +0100
commit0f32118e70c097f54fe706cb34adeaf9010a6a7a (patch)
tree50fef94261958921abdb01dfcdd09b4349ee3663
parenthwclock: initialize struct adjtime members (diff)
downloadkernel-qcow2-util-linux-0f32118e70c097f54fe706cb34adeaf9010a6a7a.tar.gz
kernel-qcow2-util-linux-0f32118e70c097f54fe706cb34adeaf9010a6a7a.tar.xz
kernel-qcow2-util-linux-0f32118e70c097f54fe706cb34adeaf9010a6a7a.zip
hwclock: use symbolic magic values passed in between functions
The manipulate_clock() is seeing return value from busywait_for_rtc_clock_tick(). And the get_permissions_cmos() can see i386_iopl() return value. Reviewed-by: J William Piggott <elseifthen@gmx.com> Signed-off-by: Sami Kerola <kerolasa@iki.fi>
-rw-r--r--sys-utils/hwclock-cmos.c6
-rw-r--r--sys-utils/hwclock-rtc.c8
-rw-r--r--sys-utils/hwclock.c12
-rw-r--r--sys-utils/hwclock.h6
4 files changed, 19 insertions, 13 deletions
diff --git a/sys-utils/hwclock-cmos.c b/sys-utils/hwclock-cmos.c
index 6595725fd..30f8765a5 100644
--- a/sys-utils/hwclock-cmos.c
+++ b/sys-utils/hwclock-cmos.c
@@ -104,6 +104,8 @@ static int inb(int c __attribute__ ((__unused__)))
#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
+#define IOPL_NOT_IMPLEMENTED -2
+
/*
* The epoch.
*
@@ -633,7 +635,7 @@ static int i386_iopl(const int level __attribute__ ((__unused__)))
#else
static int i386_iopl(const int level __attribute__ ((__unused__)))
{
- return -2;
+ return IOPL_NOT_IMPLEMENTED;
}
#endif
@@ -649,7 +651,7 @@ static int get_permissions_cmos(void)
rc = 0;
} else {
rc = i386_iopl(3);
- if (rc == -2) {
+ if (rc == IOPL_NOT_IMPLEMENTED) {
warnx(_("I failed to get permission because I didn't try."));
} else if (rc != 0) {
rc = errno;
diff --git a/sys-utils/hwclock-rtc.c b/sys-utils/hwclock-rtc.c
index b974cc2aa..48a6f4d58 100644
--- a/sys-utils/hwclock-rtc.c
+++ b/sys-utils/hwclock-rtc.c
@@ -208,7 +208,7 @@ static int busywait_for_rtc_clock_tick(const struct hwclock_control *ctl,
rc = do_rtc_read_ioctl(rtc_fd, &start_time);
if (rc)
- return 1;
+ return RTC_BUSYWAIT_FAILED;
/*
* Wait for change. Should be within a second, but in case
@@ -223,13 +223,13 @@ static int busywait_for_rtc_clock_tick(const struct hwclock_control *ctl,
gettimeofday(&now, NULL);
if (time_diff(now, begin) > 1.5) {
warnx(_("Timed out waiting for time change."));
- return 2;
+ return RTC_BUSYWAIT_TIMEOUT;
}
} while (1);
if (rc)
- return 3;
- return 0;
+ return RTC_BUSYWAIT_FAILED;
+ return RTC_BUSYWAIT_OK;
}
/*
diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c
index 7b363b567..e4885d563 100644
--- a/sys-utils/hwclock.c
+++ b/sys-utils/hwclock.c
@@ -1226,14 +1226,12 @@ manipulate_clock(const struct hwclock_control *ctl, const time_t set_time,
rc = synchronize_to_clock_tick(ctl);
/*
- * 2 = synchronization timeout. We don't
- * error out if the user is attempting to
- * set the RTC - the RTC could be
- * functioning but contain invalid time data
- * so we still want to allow a user to set
- * the RTC time.
+ * We don't error out if the user is attempting to set the
+ * RTC and synchronization timeout happens - the RTC could
+ * be functioning but contain invalid time data so we still
+ * want to allow a user to set the RTC time.
*/
- if (rc && rc != 2 && !ctl->set && !ctl->systohc)
+ if (rc == RTC_BUSYWAIT_FAILED && !ctl->set && !ctl->systohc)
return EX_IOERR;
gettimeofday(&read_time, NULL);
diff --git a/sys-utils/hwclock.h b/sys-utils/hwclock.h
index c76068c88..cd1d3b6cf 100644
--- a/sys-utils/hwclock.h
+++ b/sys-utils/hwclock.h
@@ -9,6 +9,12 @@
#include "c.h"
+enum {
+ RTC_BUSYWAIT_OK = 0,
+ RTC_BUSYWAIT_FAILED,
+ RTC_BUSYWAIT_TIMEOUT
+};
+
struct hwclock_control {
char *date_opt;
unsigned long epoch_option;