diff options
Diffstat (limited to 'drivers/net/macmace.c')
-rw-r--r-- | drivers/net/macmace.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/drivers/net/macmace.c b/drivers/net/macmace.c index 464e4a6f3d5f..5d541e873041 100644 --- a/drivers/net/macmace.c +++ b/drivers/net/macmace.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
23 | #include <linux/string.h> | 23 | #include <linux/string.h> |
24 | #include <linux/crc32.h> | 24 | #include <linux/crc32.h> |
25 | #include <linux/bitrev.h> | ||
25 | #include <asm/io.h> | 26 | #include <asm/io.h> |
26 | #include <asm/pgtable.h> | 27 | #include <asm/pgtable.h> |
27 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
@@ -81,19 +82,6 @@ static irqreturn_t mace_interrupt(int irq, void *dev_id); | |||
81 | static irqreturn_t mace_dma_intr(int irq, void *dev_id); | 82 | static irqreturn_t mace_dma_intr(int irq, void *dev_id); |
82 | static void mace_tx_timeout(struct net_device *dev); | 83 | static void mace_tx_timeout(struct net_device *dev); |
83 | 84 | ||
84 | /* Bit-reverse one byte of an ethernet hardware address. */ | ||
85 | |||
86 | static int bitrev(int b) | ||
87 | { | ||
88 | int d = 0, i; | ||
89 | |||
90 | for (i = 0; i < 8; ++i, b >>= 1) { | ||
91 | d = (d << 1) | (b & 1); | ||
92 | } | ||
93 | |||
94 | return d; | ||
95 | } | ||
96 | |||
97 | /* | 85 | /* |
98 | * Load a receive DMA channel with a base address and ring length | 86 | * Load a receive DMA channel with a base address and ring length |
99 | */ | 87 | */ |
@@ -219,12 +207,12 @@ struct net_device *mace_probe(int unit) | |||
219 | addr = (void *)MACE_PROM; | 207 | addr = (void *)MACE_PROM; |
220 | 208 | ||
221 | for (j = 0; j < 6; ++j) { | 209 | for (j = 0; j < 6; ++j) { |
222 | u8 v=bitrev(addr[j<<4]); | 210 | u8 v = bitrev8(addr[j<<4]); |
223 | checksum ^= v; | 211 | checksum ^= v; |
224 | dev->dev_addr[j] = v; | 212 | dev->dev_addr[j] = v; |
225 | } | 213 | } |
226 | for (; j < 8; ++j) { | 214 | for (; j < 8; ++j) { |
227 | checksum ^= bitrev(addr[j<<4]); | 215 | checksum ^= bitrev8(addr[j<<4]); |
228 | } | 216 | } |
229 | 217 | ||
230 | if (checksum != 0xFF) { | 218 | if (checksum != 0xFF) { |