aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Miao <eric.miao@marvell.com>2008-06-19 05:39:03 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-07-12 16:52:40 -0400
commitc4f0e76747e80578a8f7fddd82fd0ce8127bd2f8 (patch)
tree48dfd3c9b7204f1096410b6f4ee7f7640705c67d
parentfa6d3be08538bb80274d20c7e59f9beca48fa44a (diff)
[NET] smc91x: add SMC91X_NOWAIT flag to platform data
And also favors the usage of SMC91X_NOWAIT over the hardcoded SMC_NOWAIT by converting "nowait" (module parameter overridable) to platform flag. There are several possibilities: 1. platform data present - preferred and use as is 2. platform data absent - use "nowait", it can be: a. SMC_NOWAIT if defined b. default to 0 if SMC_NOWAIT isn't defined c. overriden by module parameter 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--drivers/net/smc91x.c3
-rw-r--r--include/linux/smc91x.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index 1b19022b6c7c..de7a913c487c 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -308,7 +308,7 @@ static void smc_reset(struct net_device *dev)
308 * can't handle it then there will be no recovery except for 308 * can't handle it then there will be no recovery except for
309 * a hard reset or power cycle 309 * a hard reset or power cycle
310 */ 310 */
311 if (nowait) 311 if (lp->cfg.flags & SMC91X_NOWAIT)
312 cfg |= CONFIG_NO_WAIT; 312 cfg |= CONFIG_NO_WAIT;
313 313
314 /* 314 /*
@@ -2160,6 +2160,7 @@ static int smc_drv_probe(struct platform_device *pdev)
2160 lp->cfg.flags |= (SMC_CAN_USE_8BIT) ? SMC91X_USE_8BIT : 0; 2160 lp->cfg.flags |= (SMC_CAN_USE_8BIT) ? SMC91X_USE_8BIT : 0;
2161 lp->cfg.flags |= (SMC_CAN_USE_16BIT) ? SMC91X_USE_16BIT : 0; 2161 lp->cfg.flags |= (SMC_CAN_USE_16BIT) ? SMC91X_USE_16BIT : 0;
2162 lp->cfg.flags |= (SMC_CAN_USE_32BIT) ? SMC91X_USE_32BIT : 0; 2162 lp->cfg.flags |= (SMC_CAN_USE_32BIT) ? SMC91X_USE_32BIT : 0;
2163 lp->cfg.flags |= (nowait) ? SMC91X_NOWAIT : 0;
2163 } 2164 }
2164 2165
2165 ndev->dma = (unsigned char)-1; 2166 ndev->dma = (unsigned char)-1;
diff --git a/include/linux/smc91x.h b/include/linux/smc91x.h
index fc7682f04d89..90434db72db2 100644
--- a/include/linux/smc91x.h
+++ b/include/linux/smc91x.h
@@ -5,6 +5,8 @@
5#define SMC91X_USE_16BIT (1 << 1) 5#define SMC91X_USE_16BIT (1 << 1)
6#define SMC91X_USE_32BIT (1 << 2) 6#define SMC91X_USE_32BIT (1 << 2)
7 7
8#define SMC91X_NOWAIT (1 << 3)
9
8struct smc91x_platdata { 10struct smc91x_platdata {
9 unsigned long flags; 11 unsigned long flags;
10}; 12};