aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-kirkwood/common.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-10-23 08:12:21 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-23 08:12:21 -0700
commitfdc76bf9b62446c9d4b00e0d355c3212b4f1b13b (patch)
treed4266abf69b2ef462b147a33d4f905055781714b /arch/arm/mach-kirkwood/common.c
parent72441bdc76f7f71d7b75cdaa48f26dbb1f3d932e (diff)
parentf6335c43f3d7816ba2e69abce4f29c41f65bb27e (diff)
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] clps711x: add sparsemem definitions [ARM] 5315/1: Fix section mismatch warning (sa1111) [ARM] Orion: activate workaround for 88f6183 SPI clock erratum [ARM] Orion: instantiate the dsa switch driver [ARM] mv78xx0: force link speed/duplex on eth2/eth3 [ARM] remove extra brace in arch/arm/mach-pxa/trizeps4.c [ARM] balance parenthesis in header file [ARM] pxa: fix trizeps PCMCIA build [ARM] pxa: fix trizeps defconfig [ARM] dmabounce requires ZONE_DMA [ARM] 5303/1: period_cycles should be greater than 1 [ARM] 5310/1: Fix cache flush functions for ARMv4 [ARM] pxa: fix 3bca103a1e658d23737d20e1989139d9ca8973bf [ARM] pxa: fix redefinition of NR_IRQS [ARM] S3C24XX: Fix redefine of DEFINE_TIMER() in s3c24xx pwm-clock.c [ARM] S3C2443: Fix HCLK rate [ARM] S3C24XX: Serial driver debug depends on DEBUG_LL [ARM] S3C24XX: pwm-clock set_parent mask fix
Diffstat (limited to 'arch/arm/mach-kirkwood/common.c')
-rw-r--r--arch/arm/mach-kirkwood/common.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index 85cad05d8c5..0bb1fbd84cc 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -16,6 +16,7 @@
#include <linux/mv643xx_eth.h>
#include <linux/ata_platform.h>
#include <linux/spi/orion_spi.h>
+#include <net/dsa.h>
#include <asm/page.h>
#include <asm/timex.h>
#include <asm/mach/map.h>
@@ -152,6 +153,40 @@ void __init kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data)
/*****************************************************************************
+ * Ethernet switch
+ ****************************************************************************/
+static struct resource kirkwood_switch_resources[] = {
+ {
+ .start = 0,
+ .end = 0,
+ .flags = IORESOURCE_IRQ,
+ },
+};
+
+static struct platform_device kirkwood_switch_device = {
+ .name = "dsa",
+ .id = 0,
+ .num_resources = 0,
+ .resource = kirkwood_switch_resources,
+};
+
+void __init kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq)
+{
+ if (irq != NO_IRQ) {
+ kirkwood_switch_resources[0].start = irq;
+ kirkwood_switch_resources[0].end = irq;
+ kirkwood_switch_device.num_resources = 1;
+ }
+
+ d->mii_bus = &kirkwood_ge00_shared.dev;
+ d->netdev = &kirkwood_ge00.dev;
+ kirkwood_switch_device.dev.platform_data = d;
+
+ platform_device_register(&kirkwood_switch_device);
+}
+
+
+/*****************************************************************************
* SoC RTC
****************************************************************************/
static struct resource kirkwood_rtc_resource = {