[PATCH v2 18/30] input: use parity16 in ams_delta_serio

From: zengzhaoxiu
Date: Wed Apr 06 2016 - 05:45:49 EST


From: Zhaoxiu Zeng <zhaoxiu.zeng@xxxxxxxxx>

Signed-off-by: Zhaoxiu Zeng <zhaoxiu.zeng@xxxxxxxxx>
---
drivers/input/serio/ams_delta_serio.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/input/serio/ams_delta_serio.c b/drivers/input/serio/ams_delta_serio.c
index 45887e3..85459b3 100644
--- a/drivers/input/serio/ams_delta_serio.c
+++ b/drivers/input/serio/ams_delta_serio.c
@@ -48,13 +48,9 @@ static int check_data(int data)
data);
return SERIO_FRAME;
}
- /* calculate the parity */
- for (i = 1; i < 10; i++) {
- if (data & (1 << i))
- parity++;
- }
/* it should be odd */
- if (!(parity & 0x01)) {
+ parity = parity16(data & 0x3fe);
+ if (!parity) {
dev_warn(&ams_delta_serio->dev,
"paritiy check failed, data=0x%X parity=0x%X\n",
data, parity);
--
2.5.0