aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-realview/core.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c
index d80208a1f1fe..86aa6d74126f 100644
--- a/arch/arm/mach-realview/core.c
+++ b/arch/arm/mach-realview/core.c
@@ -28,6 +28,7 @@
28#include <linux/clocksource.h> 28#include <linux/clocksource.h>
29#include <linux/clockchips.h> 29#include <linux/clockchips.h>
30#include <linux/io.h> 30#include <linux/io.h>
31#include <linux/smc911x.h>
31 32
32#include <asm/system.h> 33#include <asm/system.h>
33#include <mach/hardware.h> 34#include <mach/hardware.h>
@@ -125,6 +126,12 @@ int realview_flash_register(struct resource *res, u32 num)
125 return platform_device_register(&realview_flash_device); 126 return platform_device_register(&realview_flash_device);
126} 127}
127 128
129static struct smc911x_platdata realview_smc911x_platdata = {
130 .flags = SMC911X_USE_32BIT,
131 .irq_flags = IRQF_SHARED,
132 .irq_polarity = 1,
133};
134
128static struct platform_device realview_eth_device = { 135static struct platform_device realview_eth_device = {
129 .name = "smc911x", 136 .name = "smc911x",
130 .id = 0, 137 .id = 0,
@@ -136,6 +143,8 @@ int realview_eth_register(const char *name, struct resource *res)
136 if (name) 143 if (name)
137 realview_eth_device.name = name; 144 realview_eth_device.name = name;
138 realview_eth_device.resource = res; 145 realview_eth_device.resource = res;
146 if (strcmp(realview_eth_device.name, "smc911x") == 0)
147 realview_eth_device.dev.platform_data = &realview_smc911x_platdata;
139 148
140 return platform_device_register(&realview_eth_device); 149 return platform_device_register(&realview_eth_device);
141} 150}