atm/ambassador: use bitrev8
PATCH 6/6 atm/ambassador: use bitrev8
Use bitrev8 for ambassador driver.
Cc Chas Williams <[email protected]>
Cc Giuliano Procida at Madge Networks <[email protected]>
Signed-off-by Akinobu Mita <[email protected]>
drivers/atm/Kconfig | 1 + drivers/atm/ambassador.c | 17 +++-------------- 2 files changed, 4 insertions(+), 14 deletions(-)
drivers/atm/ambassador.c +3 -14
@@ -32,6 +32,7 @@#include <linux/delay.h> #include <linux/interrupt.h> #include <linux/poison.h> +#include <linux/bitrev.h> #include <asm/atomic.h> #include <asm/io.h>
@@ -2068,18 +2069,6 @@ static void __devinit amb_ucode_versionPRINTK (KERN_INFO ,"microcode version is %u.%u" , major, minor); } -// swap bits within byte to get Ethernet ordering -static u8 bit_swap (u8 byte) -{ -const u8 swap[] = { -0x0 ,0x8 ,0x4 ,0xc , -0x2 ,0xa ,0x6 ,0xe , -0x1 ,0x9 ,0x5 ,0xd , -0x3 ,0xb ,0x7 ,0xf - }; -return ((swap[byte &0xf ]<<4 ) | swap[byte>>4 ]); -} -// get end station address static void __devinit amb_esi (amb_dev * dev,u8 * esi) {u32 lower4;
@@ -2101,9 +2090,9 @@ static void __devinit amb_esi (amb_dev *PRINTDB (DBG_INIT ,"ESI:" );for (i =0 ; i <ESI_LEN ; ++i) {if (i <4 ) - esi[i] =bit_swap (lower4>>(8 *i)); + esi[i] =bitrev8 (lower4>>(8 *i));else - esi[i] =bit_swap (upper2>>(8 *(i-4 ))); + esi[i] =bitrev8 (upper2>>(8 *(i-4 )));PRINTDM (DBG_INIT ," %02x" , esi[i]); }
drivers/atm/Kconfig +1 -0
@@ -242,6 +242,7 @@ config ATM_IDT77252_USE_SUNI config ATM_AMBASSADOR tristate "Madge Ambassador (Collage PCI 155 Server)" depends on PCI && ATM + select BITREVERSE help This is a driver for ATMizer based ATM card produced by Madge Networks Ltd. Say Y (or M to compile as a module named ambassador)