diff options
author | Hartley Sweeten <hartleys@visionengravers.com> | 2008-10-04 15:01:49 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-04 15:04:35 -0400 |
commit | a0a08fdca534e1dffc6d8bb239f53177ab06f946 (patch) | |
tree | c8caa1b1f349a3619131016dbaccb7ee356f2e34 /arch/arm/mach-ep93xx/edb9302a.c | |
parent | 92e88aa7fb8190031dca9e04acbf4821bd77941b (diff) |
[ARM] 5273/2: ep93xx: move ethernet support into core.c
All EP93xx based systems can support Ethernet. This patch moves
the platform_device setup from the various board support files
into the core support file. The Ethernet driver data still remains
in the individual platform setup files to allow specific platform
configuration.
This also adds Ethernet support to the edb9302, edb9312, and
edb9315 platforms.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-ep93xx/edb9302a.c')
-rw-r--r-- | arch/arm/mach-ep93xx/edb9302a.c | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/arch/arm/mach-ep93xx/edb9302a.c b/arch/arm/mach-ep93xx/edb9302a.c index 99b01d44bf1c..ea7e4eb0cc2d 100644 --- a/arch/arm/mach-ep93xx/edb9302a.c +++ b/arch/arm/mach-ep93xx/edb9302a.c | |||
@@ -47,36 +47,12 @@ static struct ep93xx_eth_data edb9302a_eth_data = { | |||
47 | .phy_id = 1, | 47 | .phy_id = 1, |
48 | }; | 48 | }; |
49 | 49 | ||
50 | static struct resource edb9302a_eth_resource[] = { | ||
51 | { | ||
52 | .start = EP93XX_ETHERNET_PHYS_BASE, | ||
53 | .end = EP93XX_ETHERNET_PHYS_BASE + 0xffff, | ||
54 | .flags = IORESOURCE_MEM, | ||
55 | }, { | ||
56 | .start = IRQ_EP93XX_ETHERNET, | ||
57 | .end = IRQ_EP93XX_ETHERNET, | ||
58 | .flags = IORESOURCE_IRQ, | ||
59 | } | ||
60 | }; | ||
61 | |||
62 | static struct platform_device edb9302a_eth_device = { | ||
63 | .name = "ep93xx-eth", | ||
64 | .id = -1, | ||
65 | .dev = { | ||
66 | .platform_data = &edb9302a_eth_data, | ||
67 | }, | ||
68 | .num_resources = 2, | ||
69 | .resource = edb9302a_eth_resource, | ||
70 | }; | ||
71 | |||
72 | static void __init edb9302a_init_machine(void) | 50 | static void __init edb9302a_init_machine(void) |
73 | { | 51 | { |
74 | ep93xx_init_devices(); | 52 | ep93xx_init_devices(); |
75 | platform_device_register(&edb9302a_flash); | 53 | platform_device_register(&edb9302a_flash); |
76 | 54 | ||
77 | memcpy(edb9302a_eth_data.dev_addr, | 55 | ep93xx_register_eth(&edb9302a_eth_data, 1); |
78 | (void *)(EP93XX_ETHERNET_BASE + 0x50), 6); | ||
79 | platform_device_register(&edb9302a_eth_device); | ||
80 | } | 56 | } |
81 | 57 | ||
82 | MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board") | 58 | MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board") |