aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/powernv/opal-rtc.c
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2013-11-29 14:22:48 +1100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-12-05 16:08:22 +1100
commit2c49195b6aedd21ff1cd1e095fab9866fba3411b (patch)
tree1ae7a913b17bba36135416b69caff5420e0ff283 /arch/powerpc/platforms/powernv/opal-rtc.c
parentpowerpc: Add real mode cache inhibited IO accessors (diff)
downloadlinux-dev-2c49195b6aedd21ff1cd1e095fab9866fba3411b.tar.xz
linux-dev-2c49195b6aedd21ff1cd1e095fab9866fba3411b.zip
powernv: Remove get/set_rtc_time when they are not present
Currently we continue to poll get/set_rtc_time even when we know they are not working. This changes it so that if it fails at boot time we remove the ppc_md get/set_rtc_time hooks so that we don't end up polling known broken calls. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to '')
-rw-r--r--arch/powerpc/platforms/powernv/opal-rtc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/opal-rtc.c b/arch/powerpc/platforms/powernv/opal-rtc.c
index 7d07c7e80ec0..b1885db8fdf3 100644
--- a/arch/powerpc/platforms/powernv/opal-rtc.c
+++ b/arch/powerpc/platforms/powernv/opal-rtc.c
@@ -18,6 +18,7 @@
#include <asm/opal.h>
#include <asm/firmware.h>
+#include <asm/machdep.h>
static void opal_to_tm(u32 y_m_d, u64 h_m_s_ms, struct rtc_time *tm)
{
@@ -48,8 +49,11 @@ unsigned long __init opal_get_boot_time(void)
else
mdelay(10);
}
- if (rc != OPAL_SUCCESS)
+ if (rc != OPAL_SUCCESS) {
+ ppc_md.get_rtc_time = NULL;
+ ppc_md.set_rtc_time = NULL;
return 0;
+ }
y_m_d = be32_to_cpu(__y_m_d);
h_m_s_ms = be64_to_cpu(__h_m_s_ms);
opal_to_tm(y_m_d, h_m_s_ms, &tm);