Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1632068

[PATCH 1/2] input: touchscreen: ar1021_i2c: enable touch mode during open

From Martin Kepplinger <martin.kepplinger@ginzinger.com>
Newsgroups linux.kernel
Subject [PATCH 1/2] input: touchscreen: ar1021_i2c: enable touch mode during open
Date 2017-04-27 14:30 +0200
Message-ID <tAQIx-xM-5@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 1/2] input: touchscreen: ar1021_i2c: enable touch mode during open Martin Kepplinger <martin.kepplinger@ginzinger.com> - 2017-04-27 14:30 +0200
  [PATCH 2/2] input: touchscreen: ar1021_i2c: replace magic number with definition Martin Kepplinger <martin.kepplinger@ginzinger.com> - 2017-04-27 14:30 +0200
    Re: [PATCH 2/2] input: touchscreen: ar1021_i2c: replace magic number  with definition Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-04-28 19:10 +0200
    [PATCH 2/2 v2] input: touchscreen: ar1021_i2c: use BIT to check for a bit Martin Kepplinger <martink@posteo.de> - 2017-04-30 21:40 +0200
      Re: [PATCH 2/2 v2] input: touchscreen: ar1021_i2c: use BIT to check  for a bit Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-05-01 21:40 +0200
  Re: [PATCH 1/2] input: touchscreen: ar1021_i2c: enable touch mode  during open Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-04-28 19:10 +0200

csiph-web