aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2009-02-26 22:55:59 -0500
committerNicolas Pitre <nico@cam.org>2009-02-26 22:55:59 -0500
commit5b99d5348304a32dfca92238d27ac4de2b365175 (patch)
tree86a7a25488a698f6b8ba97f7ef7b70691d933a4b
parent249cbfa3f5a95d022941af0febbffce5d6609e46 (diff)
[ARM] Kirkwood: register internal devices in a common place
The RTC and the two XOR engines are internal to the chip, and therefore always available since they don't depend on a particular board layout. Signed-off-by: Nicolas Pitre <nico@marvell.com>
-rw-r--r--arch/arm/mach-kirkwood/common.c11
-rw-r--r--arch/arm/mach-kirkwood/common.h3
-rw-r--r--arch/arm/mach-kirkwood/db88f6281-bp-setup.c1
-rw-r--r--arch/arm/mach-kirkwood/rd88f6192-nas-setup.c3
-rw-r--r--arch/arm/mach-kirkwood/rd88f6281-setup.c3
5 files changed, 8 insertions, 13 deletions
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index e5076aae1c6b..9f012551794d 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -255,7 +255,7 @@ static struct resource kirkwood_rtc_resource = {
255 .flags = IORESOURCE_MEM, 255 .flags = IORESOURCE_MEM,
256}; 256};
257 257
258void __init kirkwood_rtc_init(void) 258static void __init kirkwood_rtc_init(void)
259{ 259{
260 platform_device_register_simple("rtc-mv", -1, &kirkwood_rtc_resource, 1); 260 platform_device_register_simple("rtc-mv", -1, &kirkwood_rtc_resource, 1);
261} 261}
@@ -547,7 +547,7 @@ static struct platform_device kirkwood_xor01_channel = {
547 }, 547 },
548}; 548};
549 549
550void __init kirkwood_xor0_init(void) 550static void __init kirkwood_xor0_init(void)
551{ 551{
552 platform_device_register(&kirkwood_xor0_shared); 552 platform_device_register(&kirkwood_xor0_shared);
553 553
@@ -645,7 +645,7 @@ static struct platform_device kirkwood_xor11_channel = {
645 }, 645 },
646}; 646};
647 647
648void __init kirkwood_xor1_init(void) 648static void __init kirkwood_xor1_init(void)
649{ 649{
650 platform_device_register(&kirkwood_xor1_shared); 650 platform_device_register(&kirkwood_xor1_shared);
651 651
@@ -753,4 +753,9 @@ void __init kirkwood_init(void)
753#ifdef CONFIG_CACHE_FEROCEON_L2 753#ifdef CONFIG_CACHE_FEROCEON_L2
754 kirkwood_l2_init(); 754 kirkwood_l2_init();
755#endif 755#endif
756
757 /* internal devices that every board has */
758 kirkwood_rtc_init();
759 kirkwood_xor0_init();
760 kirkwood_xor1_init();
756} 761}
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h
index 58279400cf7c..9e5282684d58 100644
--- a/arch/arm/mach-kirkwood/common.h
+++ b/arch/arm/mach-kirkwood/common.h
@@ -34,14 +34,11 @@ void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data);
34void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data); 34void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data);
35void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); 35void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq);
36void kirkwood_pcie_init(void); 36void kirkwood_pcie_init(void);
37void kirkwood_rtc_init(void);
38void kirkwood_sata_init(struct mv_sata_platform_data *sata_data); 37void kirkwood_sata_init(struct mv_sata_platform_data *sata_data);
39void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data); 38void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data);
40void kirkwood_spi_init(void); 39void kirkwood_spi_init(void);
41void kirkwood_uart0_init(void); 40void kirkwood_uart0_init(void);
42void kirkwood_uart1_init(void); 41void kirkwood_uart1_init(void);
43void kirkwood_xor0_init(void);
44void kirkwood_xor1_init(void);
45 42
46extern struct sys_timer kirkwood_timer; 43extern struct sys_timer kirkwood_timer;
47 44
diff --git a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c
index d7b3bf86c632..5505d5837752 100644
--- a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c
+++ b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c
@@ -94,7 +94,6 @@ static void __init db88f6281_init(void)
94 94
95 kirkwood_ehci_init(); 95 kirkwood_ehci_init();
96 kirkwood_ge00_init(&db88f6281_ge00_data); 96 kirkwood_ge00_init(&db88f6281_ge00_data);
97 kirkwood_rtc_init();
98 kirkwood_sata_init(&db88f6281_sata_data); 97 kirkwood_sata_init(&db88f6281_sata_data);
99 kirkwood_uart0_init(); 98 kirkwood_uart0_init();
100 kirkwood_sdio_init(&db88f6281_mvsdio_data); 99 kirkwood_sdio_init(&db88f6281_mvsdio_data);
diff --git a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
index c33d895cc6eb..2f0e4ef3db0f 100644
--- a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
+++ b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
@@ -57,14 +57,11 @@ static void __init rd88f6192_init(void)
57 57
58 kirkwood_ehci_init(); 58 kirkwood_ehci_init();
59 kirkwood_ge00_init(&rd88f6192_ge00_data); 59 kirkwood_ge00_init(&rd88f6192_ge00_data);
60 kirkwood_rtc_init();
61 kirkwood_sata_init(&rd88f6192_sata_data); 60 kirkwood_sata_init(&rd88f6192_sata_data);
62 spi_register_board_info(rd88F6192_spi_slave_info, 61 spi_register_board_info(rd88F6192_spi_slave_info,
63 ARRAY_SIZE(rd88F6192_spi_slave_info)); 62 ARRAY_SIZE(rd88F6192_spi_slave_info));
64 kirkwood_spi_init(); 63 kirkwood_spi_init();
65 kirkwood_uart0_init(); 64 kirkwood_uart0_init();
66 kirkwood_xor0_init();
67 kirkwood_xor1_init();
68} 65}
69 66
70static int __init rd88f6192_pci_init(void) 67static int __init rd88f6192_pci_init(void)
diff --git a/arch/arm/mach-kirkwood/rd88f6281-setup.c b/arch/arm/mach-kirkwood/rd88f6281-setup.c
index d08904680245..c3deea5e3cad 100644
--- a/arch/arm/mach-kirkwood/rd88f6281-setup.c
+++ b/arch/arm/mach-kirkwood/rd88f6281-setup.c
@@ -121,12 +121,9 @@ static void __init rd88f6281_init(void)
121 } 121 }
122 kirkwood_ge00_switch_init(&rd88f6281_switch_data, NO_IRQ); 122 kirkwood_ge00_switch_init(&rd88f6281_switch_data, NO_IRQ);
123 123
124 kirkwood_rtc_init();
125 kirkwood_sata_init(&rd88f6281_sata_data); 124 kirkwood_sata_init(&rd88f6281_sata_data);
126 kirkwood_sdio_init(&rd88f6281_mvsdio_data); 125 kirkwood_sdio_init(&rd88f6281_mvsdio_data);
127 kirkwood_uart0_init(); 126 kirkwood_uart0_init();
128 kirkwood_xor0_init();
129 kirkwood_xor1_init();
130 127
131 platform_device_register(&rd88f6281_nand_flash); 128 platform_device_register(&rd88f6281_nand_flash);
132} 129}