diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-23 08:12:21 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-23 08:12:21 -0700 |
commit | fdc76bf9b62446c9d4b00e0d355c3212b4f1b13b (patch) | |
tree | d4266abf69b2ef462b147a33d4f905055781714b /arch/arm/mach-orion5x/common.c | |
parent | 72441bdc76f7f71d7b75cdaa48f26dbb1f3d932e (diff) | |
parent | f6335c43f3d7816ba2e69abce4f29c41f65bb27e (diff) | |
download | linux-fdc76bf9b62446c9d4b00e0d355c3212b4f1b13b.tar.bz2 |
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-orion5x/common.c')
-rw-r--r-- | arch/arm/mach-orion5x/common.c | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c index 9625ef5975d0..437065c25c9c 100644 --- a/arch/arm/mach-orion5x/common.c +++ b/arch/arm/mach-orion5x/common.c @@ -19,6 +19,7 @@ #include <linux/mv643xx_i2c.h> #include <linux/ata_platform.h> #include <linux/spi/orion_spi.h> +#include <net/dsa.h> #include <asm/page.h> #include <asm/setup.h> #include <asm/timex.h> @@ -198,6 +199,40 @@ void __init orion5x_eth_init(struct mv643xx_eth_platform_data *eth_data) /***************************************************************************** + * Ethernet switch + ****************************************************************************/ +static struct resource orion5x_switch_resources[] = { + { + .start = 0, + .end = 0, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device orion5x_switch_device = { + .name = "dsa", + .id = 0, + .num_resources = 0, + .resource = orion5x_switch_resources, +}; + +void __init orion5x_eth_switch_init(struct dsa_platform_data *d, int irq) +{ + if (irq != NO_IRQ) { + orion5x_switch_resources[0].start = irq; + orion5x_switch_resources[0].end = irq; + orion5x_switch_device.num_resources = 1; + } + + d->mii_bus = &orion5x_eth_shared.dev; + d->netdev = &orion5x_eth.dev; + orion5x_switch_device.dev.platform_data = d; + + platform_device_register(&orion5x_switch_device); +} + + +/***************************************************************************** * I2C ****************************************************************************/ static struct mv64xxx_i2c_pdata orion5x_i2c_pdata = { @@ -275,7 +310,8 @@ void __init orion5x_sata_init(struct mv_sata_platform_data *sata_data) * SPI ****************************************************************************/ static struct orion_spi_info orion5x_spi_plat_data = { - .tclk = 0, + .tclk = 0, + .enable_clock_fix = 1, }; static struct resource orion5x_spi_resources[] = { |