diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-24 07:52:44 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-24 08:39:18 -0500 |
commit | 382b4480ff832e472d76c99f3f75fffb30e118c0 (patch) | |
tree | caddb10180a24cda8b0ed280688dde14dcb7232e /arch/arm/mach-footbridge/isa.c | |
parent | 6dc995a3da9adfa83d61ccf06aa1afa5f6ab764f (diff) |
ARM: footbridge: trim down old ISA rtc setup
This fixes a "start_kernel(): bug: interrupts were enabled early".
rtc_cmos now takes care of initializing the ISA RTC and reading the
current time and date from it; there's no need to repeat that here,
thereby causing interrupts to be enabled too early.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-footbridge/isa.c')
-rw-r--r-- | arch/arm/mach-footbridge/isa.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/arch/arm/mach-footbridge/isa.c b/arch/arm/mach-footbridge/isa.c index 725a219d0ed5..4d9276c27d6f 100644 --- a/arch/arm/mach-footbridge/isa.c +++ b/arch/arm/mach-footbridge/isa.c | |||
@@ -11,6 +11,9 @@ | |||
11 | #include <linux/serial_8250.h> | 11 | #include <linux/serial_8250.h> |
12 | 12 | ||
13 | #include <asm/irq.h> | 13 | #include <asm/irq.h> |
14 | #include <asm/hardware/dec21285.h> | ||
15 | |||
16 | #include "common.h" | ||
14 | 17 | ||
15 | static struct resource rtc_resources[] = { | 18 | static struct resource rtc_resources[] = { |
16 | [0] = { | 19 | [0] = { |
@@ -77,11 +80,18 @@ static struct platform_device serial_device = { | |||
77 | 80 | ||
78 | static int __init footbridge_isa_init(void) | 81 | static int __init footbridge_isa_init(void) |
79 | { | 82 | { |
80 | int err; | 83 | int err = 0; |
81 | 84 | ||
82 | err = platform_device_register(&rtc_device); | 85 | if (!footbridge_cfn_mode()) |
83 | if (err) | 86 | return 0; |
84 | printk(KERN_ERR "Unable to register RTC device: %d\n", err); | 87 | |
88 | /* Personal server doesn't have RTC */ | ||
89 | if (!machine_is_personal_server()) { | ||
90 | isa_rtc_init(); | ||
91 | err = platform_device_register(&rtc_device); | ||
92 | if (err) | ||
93 | printk(KERN_ERR "Unable to register RTC device: %d\n", err); | ||
94 | } | ||
85 | err = platform_device_register(&serial_device); | 95 | err = platform_device_register(&serial_device); |
86 | if (err) | 96 | if (err) |
87 | printk(KERN_ERR "Unable to register serial device: %d\n", err); | 97 | printk(KERN_ERR "Unable to register serial device: %d\n", err); |