aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2009-08-22 16:23:13 -0400
committerIngo Molnar <mingo@elte.hu>2009-08-23 04:49:48 -0400
commitd90246cd8e0141332a8ab09c3c1800cc2028a686 (patch)
tree0383890b9a5113b3816e367504c42ac3b271f955 /arch/powerpc
parentda15cfdae03351c689736f8d142618592e3cebc3 (diff)
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@elte.hu> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: dwalker@fifo99.com Cc: johnstul@us.ibm.com LKML-Reference: <20090822222313.74b9619c@skybase> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kernel/time.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index ad63f30fe3da..a508388fb87c 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -774,6 +774,7 @@ void read_persistent_clock(struct timespec *ts)
774 struct rtc_time tm; 774 struct rtc_time tm;
775 static int first = 1; 775 static int first = 1;
776 776
777 ts->tv_nsec = 0;
777 /* XXX this is a litle fragile but will work okay in the short term */ 778 /* XXX this is a litle fragile but will work okay in the short term */
778 if (first) { 779 if (first) {
779 first = 0; 780 first = 0;
@@ -781,15 +782,18 @@ void read_persistent_clock(struct timespec *ts)
781 timezone_offset = ppc_md.time_init(); 782 timezone_offset = ppc_md.time_init();
782 783
783 /* get_boot_time() isn't guaranteed to be safe to call late */ 784 /* get_boot_time() isn't guaranteed to be safe to call late */
784 if (ppc_md.get_boot_time) 785 if (ppc_md.get_boot_time) {
785 return ppc_md.get_boot_time() -timezone_offset; 786 ts->tv_sec = ppc_md.get_boot_time() - timezone_offset;
787 return;
788 }
789 }
790 if (!ppc_md.get_rtc_time) {
791 ts->tv_sec = 0;
792 return;
786 } 793 }
787 if (!ppc_md.get_rtc_time)
788 return 0;
789 ppc_md.get_rtc_time(&tm); 794 ppc_md.get_rtc_time(&tm);
790 ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, 795 ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
791 tm.tm_hour, tm.tm_min, tm.tm_sec); 796 tm.tm_hour, tm.tm_min, tm.tm_sec);
792 ts->tv_nsec = 0;
793} 797}
794 798
795/* clocksource code */ 799/* clocksource code */