x86: rtc: Don't register a platform RTC device for Intel MID platforms
PATCH 1/1 x86: rtc: Don't register a platform RTC device for Intel MID platforms
From: Mathias Nyman <[email protected]>
Intel MID x86 platforms have a memory mapped virtual RTC instead. No MID platform have the default ports (and accessing them may do weird stuff)
Signed-off-by Mathias Nyman <[email protected]>
Signed-off-by Alan Cox <[email protected]>
---
arch/x86/include/asm/mrst.h | 9 +++++++++ arch/x86/kernel/rtc.c | 5 +++++ 2 files changed, 14 insertions(+), 0 deletions(-)
arch/x86/include/asm/mrst.h +9 -0
@@ -31,11 +31,20 @@ enum mrst_cpu_type { };extern enum mrst_cpu_type __mrst_cpu_chip; + +#ifdef CONFIG_X86_INTEL_MID +static inline enum mrst_cpu_type mrst_identify_cpu (void ) {return __mrst_cpu_chip; } +#else /* !CONFIG_X86_INTEL_MID */ + +#define mrst_identify_cpu () (0) + +#endif /* !CONFIG_X86_INTEL_MID */ +enum mrst_timer_options {MRST_TIMER_DEFAULT ,MRST_TIMER_APBT_ONLY ,
arch/x86/kernel/rtc.c +5 -0
@@ -12,6 +12,7 @@#include <asm/vsyscall.h> #include <asm/x86_init.h> #include <asm/time.h> +#include <asm/mrst.h> #ifdef CONFIG_X86_32 /*
@@ -241,6 +242,10 @@ static __init int add_rtc_cmos(void)if (of_have_populated_dt ())return 0 ; +/* Intel MID platforms don't have ioport rtc */ +if (mrst_identify_cpu ()) +return -ENODEV ; +platform_device_register (&rtc_device);dev_info (&rtc_device.dev,"registered platform RTC device (no PNP device found)\n" );