From e9f66cdb7d5b9c05a76dde4ca5f217ba4af7f333 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 20 Feb 2017 21:50:13 -0800 Subject: [PATCH] Input: eeti_ts - use get_unaligned_be16() to retrieve data Instead of manually converting big endian data on wire into host endianness, let's use helpers to do that for us. It might save us a few cycles if host endianness matches what's on wire. Reviewed-by: Daniel Mack Signed-off-by: Dmitry Torokhov --- drivers/input/touchscreen/eeti_ts.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/input/touchscreen/eeti_ts.c b/drivers/input/touchscreen/eeti_ts.c index 26b5249..0e4b192 100644 --- a/drivers/input/touchscreen/eeti_ts.c +++ b/drivers/input/touchscreen/eeti_ts.c @@ -34,6 +34,7 @@ #include #include #include +#include static bool flip_x; module_param(flip_x, bool, 0644); @@ -89,8 +90,9 @@ static void eeti_ts_read(struct work_struct *work) pressed = buf[0] & REPORT_BIT_PRESSED; res = REPORT_RES_BITS(buf[0] & (REPORT_BIT_AD0 | REPORT_BIT_AD1)); - x = buf[2] | (buf[1] << 8); - y = buf[4] | (buf[3] << 8); + + x = get_unaligned_be16(&buf[1]); + y = get_unaligned_be16(&buf[3]); /* fix the range to 11 bits */ x >>= res - EETI_TS_BITDEPTH; -- 2.7.4