1 |
tmb |
1329221 |
From e69b8621304040d1be3125ba1b9ccce8b40d7028 Mon Sep 17 00:00:00 2001 |
2 |
|
|
From: Lubomir Rintel <lkundrak@v3.sk> |
3 |
|
|
Date: Thu, 4 Oct 2018 18:08:08 +0200 |
4 |
|
|
Subject: [PATCH 030/145] x86/olpc: Indicate that legacy PC XO-1 platform |
5 |
|
|
should not register RTC |
6 |
|
|
|
7 |
|
|
[ Upstream commit d92116b800fb79a72ad26121f5011f6aa3ad94c2 ] |
8 |
|
|
|
9 |
|
|
On OLPC XO-1, the RTC is discovered via device tree from the arch |
10 |
|
|
initcall. Don't let the PC platform register another one from its device |
11 |
|
|
initcall, it's not going to work: |
12 |
|
|
|
13 |
|
|
sysfs: cannot create duplicate filename '/devices/platform/rtc_cmos' |
14 |
|
|
CPU: 0 PID: 1 Comm: swapper Not tainted 4.19.0-rc6 #12 |
15 |
|
|
Hardware name: OLPC XO/XO, BIOS OLPC Ver 1.00.01 06/11/2014 |
16 |
|
|
Call Trace: |
17 |
|
|
dump_stack+0x16/0x18 |
18 |
|
|
sysfs_warn_dup+0x46/0x58 |
19 |
|
|
sysfs_create_dir_ns+0x76/0x9b |
20 |
|
|
kobject_add_internal+0xed/0x209 |
21 |
|
|
? __schedule+0x3fa/0x447 |
22 |
|
|
kobject_add+0x5b/0x66 |
23 |
|
|
device_add+0x298/0x535 |
24 |
|
|
? insert_resource_conflict+0x2a/0x3e |
25 |
|
|
platform_device_add+0x14d/0x192 |
26 |
|
|
? io_delay_init+0x19/0x19 |
27 |
|
|
platform_device_register+0x1c/0x1f |
28 |
|
|
add_rtc_cmos+0x16/0x31 |
29 |
|
|
do_one_initcall+0x78/0x14a |
30 |
|
|
? do_early_param+0x75/0x75 |
31 |
|
|
kernel_init_freeable+0x152/0x1e0 |
32 |
|
|
? rest_init+0xa2/0xa2 |
33 |
|
|
kernel_init+0x8/0xd5 |
34 |
|
|
ret_from_fork+0x2e/0x38 |
35 |
|
|
kobject_add_internal failed for rtc_cmos with -EEXIST, don't try to |
36 |
|
|
register things with the same name in the same directory. |
37 |
|
|
platform rtc_cmos: registered platform RTC device (no PNP device found) |
38 |
|
|
|
39 |
|
|
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> |
40 |
|
|
Signed-off-by: Borislav Petkov <bp@suse.de> |
41 |
|
|
Acked-by: Thomas Gleixner <tglx@linutronix.de> |
42 |
|
|
CC: "H. Peter Anvin" <hpa@zytor.com> |
43 |
|
|
CC: Ingo Molnar <mingo@redhat.com> |
44 |
|
|
CC: x86-ml <x86@kernel.org> |
45 |
|
|
Link: http://lkml.kernel.org/r/20181004160808.307738-1-lkundrak@v3.sk |
46 |
|
|
Signed-off-by: Sasha Levin <sashal@kernel.org> |
47 |
|
|
--- |
48 |
|
|
arch/x86/platform/olpc/olpc-xo1-rtc.c | 3 +++ |
49 |
|
|
1 file changed, 3 insertions(+) |
50 |
|
|
|
51 |
|
|
diff --git a/arch/x86/platform/olpc/olpc-xo1-rtc.c b/arch/x86/platform/olpc/olpc-xo1-rtc.c |
52 |
|
|
index a2b4efddd61a..8e7ddd7e313a 100644 |
53 |
|
|
--- a/arch/x86/platform/olpc/olpc-xo1-rtc.c |
54 |
|
|
+++ b/arch/x86/platform/olpc/olpc-xo1-rtc.c |
55 |
|
|
@@ -16,6 +16,7 @@ |
56 |
|
|
|
57 |
|
|
#include <asm/msr.h> |
58 |
|
|
#include <asm/olpc.h> |
59 |
|
|
+#include <asm/x86_init.h> |
60 |
|
|
|
61 |
|
|
static void rtc_wake_on(struct device *dev) |
62 |
|
|
{ |
63 |
|
|
@@ -75,6 +76,8 @@ static int __init xo1_rtc_init(void) |
64 |
|
|
if (r) |
65 |
|
|
return r; |
66 |
|
|
|
67 |
|
|
+ x86_platform.legacy.rtc = 0; |
68 |
|
|
+ |
69 |
|
|
device_init_wakeup(&xo1_rtc_device.dev, 1); |
70 |
|
|
return 0; |
71 |
|
|
} |
72 |
|
|
-- |
73 |
|
|
2.19.1 |
74 |
|
|
|