linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] input: touchscreen: ar1021_i2c: enable touch mode during open
@ 2017-04-27 12:22 Martin Kepplinger
  2017-04-27 12:22 ` [PATCH 2/2] input: touchscreen: ar1021_i2c: replace magic number with definition Martin Kepplinger
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Martin Kepplinger @ 2017-04-27 12:22 UTC (permalink / raw)
  To: dmitry.torokhov; +Cc: linux-input, linux-kernel, Martin Kepplinger

The device could as well be in command mode, in which this driver cannot
handle the device. When opening the device, let's make sure the device
will be in the mode we expect it to be for this driver.

Signed-off-by: Martin Kepplinger <martin.kepplinger@ginzinger.com>
---
 drivers/input/touchscreen/ar1021_i2c.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/input/touchscreen/ar1021_i2c.c b/drivers/input/touchscreen/ar1021_i2c.c
index 1a94d8b..2a76231 100644
--- a/drivers/input/touchscreen/ar1021_i2c.c
+++ b/drivers/input/touchscreen/ar1021_i2c.c
@@ -18,6 +18,12 @@
 #define AR1021_MAX_X	4095
 #define AR1021_MAX_Y	4095
 
+#define AR1021_CMD	0x55
+#define AR1021_TOUCH	0x80
+
+#define AR1021_CMD_ENABLE_TOUCH		0x12
+#define AR1021_CMD_DISABLE_TOUCH	0x13
+
 struct ar1021_i2c {
 	struct i2c_client *client;
 	struct input_dev *input;
@@ -58,6 +64,15 @@ static int ar1021_i2c_open(struct input_dev *dev)
 {
 	struct ar1021_i2c *ar1021 = input_get_drvdata(dev);
 	struct i2c_client *client = ar1021->client;
+	int error;
+	u8 cmd_enable_touch[3] = {AR1021_CMD,
+				  0x01, /* number of bytes after this */
+				  AR1021_CMD_ENABLE_TOUCH };
+
+	error = i2c_master_send(ar1021->client, cmd_enable_touch,
+				sizeof(cmd_enable_touch));
+	if (error < 0)
+		return error;
 
 	enable_irq(client->irq);
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-02-16 16:46 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-27 12:22 [PATCH 1/2] input: touchscreen: ar1021_i2c: enable touch mode during open Martin Kepplinger
2017-04-27 12:22 ` [PATCH 2/2] input: touchscreen: ar1021_i2c: replace magic number with definition Martin Kepplinger
2017-04-28 17:06   ` Dmitry Torokhov
2017-04-30 19:38   ` [PATCH 2/2 v2] input: touchscreen: ar1021_i2c: use BIT to check for a bit Martin Kepplinger
2017-05-01 19:39     ` Dmitry Torokhov
2017-04-28 17:02 ` [PATCH 1/2] input: touchscreen: ar1021_i2c: enable touch mode during open Dmitry Torokhov
2018-02-05 10:07 ` Christian Gmeiner
2018-02-05 10:40   ` Martin Kepplinger
2018-02-16 16:38     ` Christian Gmeiner
2018-02-06  1:20   ` Dmitry Torokhov
2018-02-16 16:46     ` Christian Gmeiner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).