82 lines
3.0 KiB
Diff
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);
|