diff options
author | Yalin Wang <yalin.wang2010@gmail.com> | 2015-08-20 20:41:42 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2015-08-20 20:44:34 -0400 |
commit | 012bd2a533cd665c9961c5905f144170b16f61e4 (patch) | |
tree | 5cb8b6792bdf45af251d952f5be2bb18a30ec83e /drivers/input/joystick | |
parent | 95ecdc2549ccc1f4f5af1f37c080120c2f0a1be3 (diff) |
Input: zhenhua - switch to using bitrev8()
Instead of custom zhenhua_bitreverse() let's use generic bitrev8().
Signed-off-by: Yalin Wang <yalin.wang2010@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/joystick')
-rw-r--r-- | drivers/input/joystick/zhenhua.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/input/joystick/zhenhua.c b/drivers/input/joystick/zhenhua.c index 30af2e8c670c..4a8258bf13fd 100644 --- a/drivers/input/joystick/zhenhua.c +++ b/drivers/input/joystick/zhenhua.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <linux/kernel.h> | 47 | #include <linux/kernel.h> |
48 | #include <linux/module.h> | 48 | #include <linux/module.h> |
49 | #include <linux/slab.h> | 49 | #include <linux/slab.h> |
50 | #include <linux/bitrev.h> | ||
50 | #include <linux/input.h> | 51 | #include <linux/input.h> |
51 | #include <linux/serio.h> | 52 | #include <linux/serio.h> |
52 | 53 | ||
@@ -72,16 +73,6 @@ struct zhenhua { | |||
72 | char phys[32]; | 73 | char phys[32]; |
73 | }; | 74 | }; |
74 | 75 | ||
75 | |||
76 | /* bits in all incoming bytes needs to be "reversed" */ | ||
77 | static int zhenhua_bitreverse(int x) | ||
78 | { | ||
79 | x = ((x & 0xaa) >> 1) | ((x & 0x55) << 1); | ||
80 | x = ((x & 0xcc) >> 2) | ((x & 0x33) << 2); | ||
81 | x = ((x & 0xf0) >> 4) | ((x & 0x0f) << 4); | ||
82 | return x; | ||
83 | } | ||
84 | |||
85 | /* | 76 | /* |
86 | * zhenhua_process_packet() decodes packets the driver receives from the | 77 | * zhenhua_process_packet() decodes packets the driver receives from the |
87 | * RC transmitter. It updates the data accordingly. | 78 | * RC transmitter. It updates the data accordingly. |
@@ -120,7 +111,7 @@ static irqreturn_t zhenhua_interrupt(struct serio *serio, unsigned char data, un | |||
120 | return IRQ_HANDLED; /* wrong MSB -- ignore this byte */ | 111 | return IRQ_HANDLED; /* wrong MSB -- ignore this byte */ |
121 | 112 | ||
122 | if (zhenhua->idx < ZHENHUA_MAX_LENGTH) | 113 | if (zhenhua->idx < ZHENHUA_MAX_LENGTH) |
123 | zhenhua->data[zhenhua->idx++] = zhenhua_bitreverse(data); | 114 | zhenhua->data[zhenhua->idx++] = bitrev8(data); |
124 | 115 | ||
125 | if (zhenhua->idx == ZHENHUA_MAX_LENGTH) { | 116 | if (zhenhua->idx == ZHENHUA_MAX_LENGTH) { |
126 | zhenhua_process_packet(zhenhua); | 117 | zhenhua_process_packet(zhenhua); |