From: Akinobu Mita Use bitrev8 for ambassador driver. Cc: Chas Williams Cc: Giuliano Procida at Madge Networks Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton --- drivers/atm/Kconfig | 1 + drivers/atm/ambassador.c | 17 +++-------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff -puN drivers/atm/Kconfig~atm-ambassador-use-bitrev8 drivers/atm/Kconfig --- a/drivers/atm/Kconfig~atm-ambassador-use-bitrev8 +++ a/drivers/atm/Kconfig @@ -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) diff -puN drivers/atm/ambassador.c~atm-ambassador-use-bitrev8 drivers/atm/ambassador.c --- a/drivers/atm/ambassador.c~atm-ambassador-use-bitrev8 +++ a/drivers/atm/ambassador.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -2068,18 +2069,6 @@ static void __devinit amb_ucode_version PRINTK (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]); } _