diff options
-rw-r--r-- | arch/arm/mach-pxa/lubbock.c | 8 | ||||
-rw-r--r-- | drivers/net/smc91x.h | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index 3daffbe7bb8..ac26423cd20 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c @@ -21,6 +21,7 @@ #include <linux/interrupt.h> #include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> +#include <linux/smc91x.h> #include <linux/spi/spi.h> #include <linux/spi/ads7846.h> @@ -284,11 +285,18 @@ static struct resource smc91x_resources[] = { }, }; +static struct smc91x_platdata lubbock_smc91x_info = { + .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT | SMC91X_IO_SHIFT_2, +}; + static struct platform_device smc91x_device = { .name = "smc91x", .id = -1, .num_resources = ARRAY_SIZE(smc91x_resources), .resource = smc91x_resources, + .dev = { + .platform_data = &lubbock_smc91x_info, + }, }; static struct resource flash_resources[] = { diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index f02cc6ac248..a9c41d421c3 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h @@ -48,8 +48,7 @@ #define SMC_CAN_USE_32BIT 0 #define SMC_NOWAIT 1 -/* The first two address lines aren't connected... */ -#define SMC_IO_SHIFT 2 +#define SMC_IO_SHIFT (lp->io_shift) #define SMC_inw(a, r) readw((a) + (r)) #define SMC_outw(v, a, r) writew(v, (a) + (r)) |