diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-24 15:52:44 +0300 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-24 16:39:18 +0300 |
commit | 382b4480ff832e472d76c99f3f75fffb30e118c0 (patch) | |
tree | caddb10180a24cda8b0ed280688dde14dcb7232e /arch/arm/mach-footbridge/isa.c | |
parent | 6dc995a3da9adfa83d61ccf06aa1afa5f6ab764f (diff) | |
download | linux-382b4480ff832e472d76c99f3f75fffb30e118c0.tar.xz |
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 @@ #include <linux/serial_8250.h> #include <asm/irq.h> +#include <asm/hardware/dec21285.h> + +#include "common.h" static struct resource rtc_resources[] = { [0] = { @@ -77,11 +80,18 @@ static struct platform_device serial_device = { static int __init footbridge_isa_init(void) { - int err; + int err = 0; - err = platform_device_register(&rtc_device); - if (err) - printk(KERN_ERR "Unable to register RTC device: %d\n", err); + if (!footbridge_cfn_mode()) + return 0; + + /* Personal server doesn't have RTC */ + if (!machine_is_personal_server()) { + isa_rtc_init(); + err = platform_device_register(&rtc_device); + if (err) + printk(KERN_ERR "Unable to register RTC device: %d\n", err); + } err = platform_device_register(&serial_device); if (err) printk(KERN_ERR "Unable to register serial device: %d\n", err); |