aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-kirkwood
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-03-28 16:29:51 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-03-28 16:29:51 -0400
commited40d0c472b136682b2fcba05f89762859c7374f (patch)
tree076b83a26bcd63d6158463735dd34c10bbc591dc /arch/arm/mach-kirkwood
parent9e495834e59ca9b29f1a1f63b9f5533bb022ac49 (diff)
parent5d80f8e5a9dc9c9a94d4aeaa567e219a808b8a4a (diff)
Merge branch 'origin' into devel
Conflicts: sound/soc/pxa/pxa2xx-i2s.c
Diffstat (limited to 'arch/arm/mach-kirkwood')
-rw-r--r--arch/arm/mach-kirkwood/common.c5
-rw-r--r--arch/arm/mach-kirkwood/rd88f6281-setup.c13
2 files changed, 13 insertions, 5 deletions
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index 19b03f62c3f4..3d2fae846512 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -233,14 +233,17 @@ static struct platform_device kirkwood_switch_device = {
233 233
234void __init kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq) 234void __init kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq)
235{ 235{
236 int i;
237
236 if (irq != NO_IRQ) { 238 if (irq != NO_IRQ) {
237 kirkwood_switch_resources[0].start = irq; 239 kirkwood_switch_resources[0].start = irq;
238 kirkwood_switch_resources[0].end = irq; 240 kirkwood_switch_resources[0].end = irq;
239 kirkwood_switch_device.num_resources = 1; 241 kirkwood_switch_device.num_resources = 1;
240 } 242 }
241 243
242 d->mii_bus = &kirkwood_ge00_shared.dev;
243 d->netdev = &kirkwood_ge00.dev; 244 d->netdev = &kirkwood_ge00.dev;
245 for (i = 0; i < d->nr_chips; i++)
246 d->chip[i].mii_bus = &kirkwood_ge00_shared.dev;
244 kirkwood_switch_device.dev.platform_data = d; 247 kirkwood_switch_device.dev.platform_data = d;
245 248
246 platform_device_register(&kirkwood_switch_device); 249 platform_device_register(&kirkwood_switch_device);
diff --git a/arch/arm/mach-kirkwood/rd88f6281-setup.c b/arch/arm/mach-kirkwood/rd88f6281-setup.c
index c3deea5e3cad..31e996d65fc4 100644
--- a/arch/arm/mach-kirkwood/rd88f6281-setup.c
+++ b/arch/arm/mach-kirkwood/rd88f6281-setup.c
@@ -74,7 +74,7 @@ static struct mv643xx_eth_platform_data rd88f6281_ge00_data = {
74 .duplex = DUPLEX_FULL, 74 .duplex = DUPLEX_FULL,
75}; 75};
76 76
77static struct dsa_platform_data rd88f6281_switch_data = { 77static struct dsa_chip_data rd88f6281_switch_chip_data = {
78 .port_names[0] = "lan1", 78 .port_names[0] = "lan1",
79 .port_names[1] = "lan2", 79 .port_names[1] = "lan2",
80 .port_names[2] = "lan3", 80 .port_names[2] = "lan3",
@@ -82,6 +82,11 @@ static struct dsa_platform_data rd88f6281_switch_data = {
82 .port_names[5] = "cpu", 82 .port_names[5] = "cpu",
83}; 83};
84 84
85static struct dsa_platform_data rd88f6281_switch_plat_data = {
86 .nr_chips = 1,
87 .chip = &rd88f6281_switch_chip_data,
88};
89
85static struct mv643xx_eth_platform_data rd88f6281_ge01_data = { 90static struct mv643xx_eth_platform_data rd88f6281_ge01_data = {
86 .phy_addr = MV643XX_ETH_PHY_ADDR(11), 91 .phy_addr = MV643XX_ETH_PHY_ADDR(11),
87}; 92};
@@ -114,12 +119,12 @@ static void __init rd88f6281_init(void)
114 kirkwood_ge00_init(&rd88f6281_ge00_data); 119 kirkwood_ge00_init(&rd88f6281_ge00_data);
115 kirkwood_pcie_id(&dev, &rev); 120 kirkwood_pcie_id(&dev, &rev);
116 if (rev == MV88F6281_REV_A0) { 121 if (rev == MV88F6281_REV_A0) {
117 rd88f6281_switch_data.sw_addr = 10; 122 rd88f6281_switch_chip_data.sw_addr = 10;
118 kirkwood_ge01_init(&rd88f6281_ge01_data); 123 kirkwood_ge01_init(&rd88f6281_ge01_data);
119 } else { 124 } else {
120 rd88f6281_switch_data.port_names[4] = "wan"; 125 rd88f6281_switch_chip_data.port_names[4] = "wan";
121 } 126 }
122 kirkwood_ge00_switch_init(&rd88f6281_switch_data, NO_IRQ); 127 kirkwood_ge00_switch_init(&rd88f6281_switch_plat_data, NO_IRQ);
123 128
124 kirkwood_sata_init(&rd88f6281_sata_data); 129 kirkwood_sata_init(&rd88f6281_sata_data);
125 kirkwood_sdio_init(&rd88f6281_mvsdio_data); 130 kirkwood_sdio_init(&rd88f6281_mvsdio_data);