linux/debian/patches/features/arm/kw-dont-init-rtc.patch

82 lines
3.0 KiB
Diff

To: nico@cam.org
Cc: linux-arm-kernel@lists.arm.linux.org.uk
Subject: [PATCH] Kirkwood: Don't initialize Marvell RTC for all boards
Even though the Marvell Kirkwood has a built-in RTC, some Kirkwood-based
boards (e.g. QNAP TS-219) use a separate RTC chip. Don't initialize the
Marvell RTC in common code for all boards, otherwise you end up with
two RTC devices on those with their own RTC chip and the default device
is the Marvell RTC which may not work.
Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
--- a/arch/arm/mach-kirkwood/common.c 2009-03-22 20:39:53.000000000 +0000
+++ b/arch/arm/mach-kirkwood/common.c 2009-03-22 20:40:03.000000000 +0000
@@ -256,7 +256,7 @@
.flags = IORESOURCE_MEM,
};
-static void __init kirkwood_rtc_init(void)
+void __init kirkwood_rtc_init(void)
{
platform_device_register_simple("rtc-mv", -1, &kirkwood_rtc_resource, 1);
}
@@ -795,7 +795,6 @@
#endif
/* internal devices that every board has */
- kirkwood_rtc_init();
kirkwood_xor0_init();
kirkwood_xor1_init();
}
--- a/arch/arm/mach-kirkwood/common.h
+++ b/arch/arm/mach-kirkwood/common.h
@@ -34,6 +34,7 @@
void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data);
void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq);
void kirkwood_pcie_init(void);
+void kirkwood_rtc_init(void);
void kirkwood_sata_init(struct mv_sata_platform_data *sata_data);
void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data);
void kirkwood_spi_init(void);
--- a/arch/arm/mach-kirkwood/rd88f6281-setup.c 2009-03-22 20:37:57.000000000 +0000
+++ b/arch/arm/mach-kirkwood/rd88f6281-setup.c 2009-03-22 20:38:08.000000000 +0000
@@ -124,6 +124,7 @@
}
kirkwood_ge00_switch_init(&rd88f6281_switch_data, NO_IRQ);
+ kirkwood_rtc_init();
kirkwood_sata_init(&rd88f6281_sata_data);
kirkwood_sdio_init(&rd88f6281_mvsdio_data);
kirkwood_uart0_init();
--- a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c 2009-03-22 20:37:54.000000000 +0000
+++ b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c 2009-03-22 20:38:08.000000000 +0000
@@ -61,6 +61,7 @@
kirkwood_ehci_init();
kirkwood_ge00_init(&rd88f6192_ge00_data);
+ kirkwood_rtc_init();
kirkwood_sata_init(&rd88f6192_sata_data);
spi_register_board_info(rd88F6192_spi_slave_info,
ARRAY_SIZE(rd88F6192_spi_slave_info));
--- a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c 2009-03-22 20:37:50.000000000 +0000
+++ b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c 2009-03-22 20:38:08.000000000 +0000
@@ -55,6 +55,7 @@
kirkwood_ehci_init();
kirkwood_ge00_init(&db88f6281_ge00_data);
+ kirkwood_rtc_init();
kirkwood_sata_init(&db88f6281_sata_data);
kirkwood_uart0_init();
kirkwood_sdio_init(&db88f6281_mvsdio_data);
--- a/arch/arm/mach-kirkwood/sheevaplug-setup.c
+++ b/arch/arm/mach-kirkwood/sheevaplug-setup.c
@@ -118,6 +118,7 @@ static void __init sheevaplug_init(void)
kirkwood_ehci_init();
kirkwood_ge00_init(&sheevaplug_ge00_data);
+ kirkwood_rtc_init();
kirkwood_sdio_init(&sheevaplug_mvsdio_data);
platform_device_register(&sheevaplug_nand_flash);