aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Miao <eric.miao@marvell.com>2008-06-24 04:47:37 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-07-12 16:52:41 -0400
commit88c36eb73e1e71ea3ca16896d6478a65d230b44a (patch)
treee57c8bc5fd988780dcbf1866d5601a8fa04bf2ff
parent38fd6c3846a5657ef6950e3c1582a866cf42888f (diff)
[ARM] pxa: make zylonite to use the new smc91x platform data
Signed-off-by: Eric Miao <eric.miao@marvell.com> Acked-by: Nicolas Pitre <nico@cam.org> Acked-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/mach-pxa/zylonite.c9
-rw-r--r--drivers/net/smc91x.h19
2 files changed, 11 insertions, 17 deletions
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c
index 4a4711d36e73..8fca6d890b7d 100644
--- a/arch/arm/mach-pxa/zylonite.c
+++ b/arch/arm/mach-pxa/zylonite.c
@@ -19,6 +19,7 @@
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/platform_device.h> 20#include <linux/platform_device.h>
21#include <linux/pwm_backlight.h> 21#include <linux/pwm_backlight.h>
22#include <linux/smc91x.h>
22 23
23#include <asm/mach-types.h> 24#include <asm/mach-types.h>
24#include <asm/mach/arch.h> 25#include <asm/mach/arch.h>
@@ -59,11 +60,19 @@ static struct resource smc91x_resources[] = {
59 } 60 }
60}; 61};
61 62
63static struct smc91x_platdata zylonite_smc91x_info = {
64 .flags = SMC91X_USE_8BIT | SMC91X_USE_16BIT |
65 SMC91X_NOWAIT | SMC91X_USE_DMA,
66};
67
62static struct platform_device smc91x_device = { 68static struct platform_device smc91x_device = {
63 .name = "smc91x", 69 .name = "smc91x",
64 .id = 0, 70 .id = 0,
65 .num_resources = ARRAY_SIZE(smc91x_resources), 71 .num_resources = ARRAY_SIZE(smc91x_resources),
66 .resource = smc91x_resources, 72 .resource = smc91x_resources,
73 .dev = {
74 .platform_data = &zylonite_smc91x_info,
75 },
67}; 76};
68 77
69#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE) 78#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
index 5518c51bfd81..273f90ac2cb9 100644
--- a/drivers/net/smc91x.h
+++ b/drivers/net/smc91x.h
@@ -41,7 +41,8 @@
41 */ 41 */
42 42
43#if defined(CONFIG_ARCH_LUBBOCK) ||\ 43#if defined(CONFIG_ARCH_LUBBOCK) ||\
44 defined(CONFIG_MACH_MAINSTONE) 44 defined(CONFIG_MACH_MAINSTONE) ||\
45 defined(CONFIG_MACH_ZYLONITE)
45 46
46#include <asm/mach-types.h> 47#include <asm/mach-types.h>
47 48
@@ -249,22 +250,6 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)
249 } 250 }
250} 251}
251 252
252#elif defined(CONFIG_MACH_ZYLONITE)
253
254#define SMC_CAN_USE_8BIT 1
255#define SMC_CAN_USE_16BIT 1
256#define SMC_CAN_USE_32BIT 0
257#define SMC_IO_SHIFT 0
258#define SMC_NOWAIT 1
259#define SMC_USE_PXA_DMA 1
260#define SMC_inb(a, r) readb((a) + (r))
261#define SMC_inw(a, r) readw((a) + (r))
262#define SMC_insw(a, r, p, l) insw((a) + (r), p, l)
263#define SMC_outsw(a, r, p, l) outsw((a) + (r), p, l)
264#define SMC_outb(v, a, r) writeb(v, (a) + (r))
265#define SMC_outw(v, a, r) writew(v, (a) + (r))
266#define SMC_IRQ_FLAGS (-1) /* from resource */
267
268#elif defined(CONFIG_ARCH_OMAP) 253#elif defined(CONFIG_ARCH_OMAP)
269 254
270/* We can only do 16-bit reads and writes in the static memory space. */ 255/* We can only do 16-bit reads and writes in the static memory space. */