[PATCH] Fix ili210x touchdata coordinates endianness.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This fixes how coordinates are parsed from ili210x touchdata. Through observation 
and manual probing of the i2c bus, we have confirmed that the values stored in 
the registers are Little Endian.
(Tested on Amazon Kindle Fire Gen1 : arch/arm/boot/dts/omap4-kc1.dts)

This patch is a follow-up to the earlier one by Hansem Ro. I am also working on another patch
that queries the touchscreen controller for the active panel resolution (via REG_PANEL_INFO)
so we can report the correct resolution to evdev (right now it's hardcoded).

Signed-off-by: Michael John Sakellaropoulos <mjsakellaropoulos@xxxxxxxxx>
Tested-by: Hansem Ro <hansemro@xxxxxxxxxxx>
Fixes: e3559442afd2a ("ili210x - rework the touchscreen sample processing")
---
 drivers/input/touchscreen/ili210x.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c
index d8fccf048bf4..15e68d5a96d8 100644
--- a/drivers/input/touchscreen/ili210x.c
+++ b/drivers/input/touchscreen/ili210x.c
@@ -90,8 +90,8 @@ static bool ili210x_touchdata_to_coords(const u8 *touchdata,
 	if (touchdata[0] & BIT(finger))
 		return false;
 
-	*x = get_unaligned_be16(touchdata + 1 + (finger * 4) + 0);
-	*y = get_unaligned_be16(touchdata + 1 + (finger * 4) + 2);
+	*x = get_unaligned_le16(touchdata + 1 + (finger * 4) + 0);
+	*y = get_unaligned_le16(touchdata + 1 + (finger * 4) + 2);
 
 	return true;
 }
-- 
2.27.0





[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux