提交 884c3d75 编写于 作者: A Akinobu Mita 提交者: Linus Torvalds

cm4000_cs: use bitrev

Cleanup using bitrev8 in cm4000_cs driver.

Cc: Harald Welte <laforge@gnumonks.org>
Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 54493c10
...@@ -21,6 +21,7 @@ config SYNCLINK_CS ...@@ -21,6 +21,7 @@ config SYNCLINK_CS
config CARDMAN_4000 config CARDMAN_4000
tristate "Omnikey Cardman 4000 support" tristate "Omnikey Cardman 4000 support"
depends on PCMCIA depends on PCMCIA
select BITREVERSE
help help
Enable support for the Omnikey Cardman 4000 PCMCIA Smartcard Enable support for the Omnikey Cardman 4000 PCMCIA Smartcard
reader. reader.
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/bitrev.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/io.h> #include <asm/io.h>
...@@ -194,41 +195,17 @@ static inline unsigned char xinb(unsigned short port) ...@@ -194,41 +195,17 @@ static inline unsigned char xinb(unsigned short port)
} }
#endif #endif
#define b_0000 15 static inline unsigned char invert_revert(unsigned char ch)
#define b_0001 14 {
#define b_0010 13 return bitrev8(~ch);
#define b_0011 12 }
#define b_0100 11
#define b_0101 10
#define b_0110 9
#define b_0111 8
#define b_1000 7
#define b_1001 6
#define b_1010 5
#define b_1011 4
#define b_1100 3
#define b_1101 2
#define b_1110 1
#define b_1111 0
static unsigned char irtab[16] = {
b_0000, b_1000, b_0100, b_1100,
b_0010, b_1010, b_0110, b_1110,
b_0001, b_1001, b_0101, b_1101,
b_0011, b_1011, b_0111, b_1111
};
static void str_invert_revert(unsigned char *b, int len) static void str_invert_revert(unsigned char *b, int len)
{ {
int i; int i;
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
b[i] = (irtab[b[i] & 0x0f] << 4) | irtab[b[i] >> 4]; b[i] = invert_revert(b[i]);
}
static unsigned char invert_revert(unsigned char ch)
{
return (irtab[ch & 0x0f] << 4) | irtab[ch >> 4];
} }
#define ATRLENCK(dev,pos) \ #define ATRLENCK(dev,pos) \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册