[tip:timers/core] timekeeping: Increase granularity of read_persistent_clock(), build fix

From: tip-bot for Martin Schwidefsky
Date: Sun Aug 23 2009 - 05:04:37 EST


Commit-ID: d90246cd8e0141332a8ab09c3c1800cc2028a686
Gitweb: http://git.kernel.org/tip/d90246cd8e0141332a8ab09c3c1800cc2028a686
Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
AuthorDate: Sat, 22 Aug 2009 22:23:13 +0200
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Sun, 23 Aug 2009 10:49:48 +0200

timekeeping: Increase granularity of read_persistent_clock(), build fix

Fix the following build problem on powerpc:

arch/powerpc/kernel/time.c: In function 'read_persistent_clock':
arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void
arch/powerpc/kernel/time.c:791: error: 'return' with a value, in function returning void

Reported-by: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: dwalker@xxxxxxxxxx
Cc: johnstul@xxxxxxxxxx
LKML-Reference: <20090822222313.74b9619c@skybase>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>


---
arch/powerpc/kernel/time.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index ad63f30..a508388 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -774,6 +774,7 @@ void read_persistent_clock(struct timespec *ts)
struct rtc_time tm;
static int first = 1;

+ ts->tv_nsec = 0;
/* XXX this is a litle fragile but will work okay in the short term */
if (first) {
first = 0;
@@ -781,15 +782,18 @@ void read_persistent_clock(struct timespec *ts)
timezone_offset = ppc_md.time_init();

/* get_boot_time() isn't guaranteed to be safe to call late */
- if (ppc_md.get_boot_time)
- return ppc_md.get_boot_time() -timezone_offset;
+ if (ppc_md.get_boot_time) {
+ ts->tv_sec = ppc_md.get_boot_time() - timezone_offset;
+ return;
+ }
+ }
+ if (!ppc_md.get_rtc_time) {
+ ts->tv_sec = 0;
+ return;
}
- if (!ppc_md.get_rtc_time)
- return 0;
ppc_md.get_rtc_time(&tm);
ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec);
- ts->tv_nsec = 0;
}

/* clocksource code */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/