+++ /dev/null
-From foo@baz Sat Nov 10 11:35:28 PST 2018
-From: Lubomir Rintel <lkundrak@v3.sk>
-Date: Thu, 4 Oct 2018 18:08:08 +0200
-Subject: x86/olpc: Indicate that legacy PC XO-1 platform should not register RTC
-
-From: Lubomir Rintel <lkundrak@v3.sk>
-
-[ Upstream commit d92116b800fb79a72ad26121f5011f6aa3ad94c2 ]
-
-On OLPC XO-1, the RTC is discovered via device tree from the arch
-initcall. Don't let the PC platform register another one from its device
-initcall, it's not going to work:
-
- sysfs: cannot create duplicate filename '/devices/platform/rtc_cmos'
- CPU: 0 PID: 1 Comm: swapper Not tainted 4.19.0-rc6 #12
- Hardware name: OLPC XO/XO, BIOS OLPC Ver 1.00.01 06/11/2014
- Call Trace:
- dump_stack+0x16/0x18
- sysfs_warn_dup+0x46/0x58
- sysfs_create_dir_ns+0x76/0x9b
- kobject_add_internal+0xed/0x209
- ? __schedule+0x3fa/0x447
- kobject_add+0x5b/0x66
- device_add+0x298/0x535
- ? insert_resource_conflict+0x2a/0x3e
- platform_device_add+0x14d/0x192
- ? io_delay_init+0x19/0x19
- platform_device_register+0x1c/0x1f
- add_rtc_cmos+0x16/0x31
- do_one_initcall+0x78/0x14a
- ? do_early_param+0x75/0x75
- kernel_init_freeable+0x152/0x1e0
- ? rest_init+0xa2/0xa2
- kernel_init+0x8/0xd5
- ret_from_fork+0x2e/0x38
- kobject_add_internal failed for rtc_cmos with -EEXIST, don't try to
- register things with the same name in the same directory.
- platform rtc_cmos: registered platform RTC device (no PNP device found)
-
-Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Acked-by: Thomas Gleixner <tglx@linutronix.de>
-CC: "H. Peter Anvin" <hpa@zytor.com>
-CC: Ingo Molnar <mingo@redhat.com>
-CC: x86-ml <x86@kernel.org>
-Link: http://lkml.kernel.org/r/20181004160808.307738-1-lkundrak@v3.sk
-Signed-off-by: Sasha Levin <sashal@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/platform/olpc/olpc-xo1-rtc.c | 3 +++
- 1 file changed, 3 insertions(+)
-
---- a/arch/x86/platform/olpc/olpc-xo1-rtc.c
-+++ b/arch/x86/platform/olpc/olpc-xo1-rtc.c
-@@ -16,6 +16,7 @@
-
- #include <asm/msr.h>
- #include <asm/olpc.h>
-+#include <asm/x86_init.h>
-
- static void rtc_wake_on(struct device *dev)
- {
-@@ -75,6 +76,8 @@ static int __init xo1_rtc_init(void)
- if (r)
- return r;
-
-+ x86_platform.legacy.rtc = 0;
-+
- device_init_wakeup(&xo1_rtc_device.dev, 1);
- return 0;
- }