summaryrefslogtreecommitdiffstats
path: root/include/linux/smc91x.h
diff options
context:
space:
mode:
authorEric Miao <eric.miao@marvell.com>2008-06-24 13:38:50 +0800
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-07-12 21:52:40 +0100
commit159198862adad7109bb347bb30a620f67beac45f (patch)
tree2e440d22fa40b41f37922d9c6f2011e07a5e446b /include/linux/smc91x.h
parentc4f0e76747e80578a8f7fddd82fd0ce8127bd2f8 (diff)
downloadblackbird-op-linux-159198862adad7109bb347bb30a620f67beac45f.tar.gz
blackbird-op-linux-159198862adad7109bb347bb30a620f67beac45f.zip
[NET] smc91x: prepare for SMC_IO_SHIFT to be a platform configurable variable
Now one can use the following code #define SMC_IO_SHIFT lp->io_shift to make SMC_IO_SHIFT a variable. This, however, will slightly increase the CPU overhead and have negative impact on the network performance. The tradeoff is, this can be specified in the smc91x platform data so that multiple boards support can be built in a single zImage. 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>
Diffstat (limited to 'include/linux/smc91x.h')
-rw-r--r--include/linux/smc91x.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/smc91x.h b/include/linux/smc91x.h
index 90434db72db2..0dea9459a8e4 100644
--- a/include/linux/smc91x.h
+++ b/include/linux/smc91x.h
@@ -7,6 +7,13 @@
#define SMC91X_NOWAIT (1 << 3)
+/* two bits for IO_SHIFT, let's hope later designs will keep this sane */
+#define SMC91X_IO_SHIFT_0 (0 << 4)
+#define SMC91X_IO_SHIFT_1 (1 << 4)
+#define SMC91X_IO_SHIFT_2 (2 << 4)
+#define SMC91X_IO_SHIFT_3 (3 << 4)
+#define SMC91X_IO_SHIFT(x) (((x) >> 4) & 0x3)
+
struct smc91x_platdata {
unsigned long flags;
};
OpenPOWER on IntegriCloud