提交 e55057e8 编写于 作者: M Martin Kepplinger 提交者: Dmitry Torokhov

Input: ar1021_i2c - enable touch mode during open

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: NMartin Kepplinger <martin.kepplinger@ginzinger.com>
Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
上级 aea415b1
......@@ -18,6 +18,10 @@
#define AR1021_MAX_X 4095
#define AR1021_MAX_Y 4095
#define AR1021_CMD 0x55
#define AR1021_CMD_ENABLE_TOUCH 0x12
struct ar1021_i2c {
struct i2c_client *client;
struct input_dev *input;
......@@ -56,8 +60,19 @@ static irqreturn_t ar1021_i2c_irq(int irq, void *dev_id)
static int ar1021_i2c_open(struct input_dev *dev)
{
static const u8 cmd_enable_touch[] = {
AR1021_CMD,
0x01, /* number of bytes after this */
AR1021_CMD_ENABLE_TOUCH
};
struct ar1021_i2c *ar1021 = input_get_drvdata(dev);
struct i2c_client *client = ar1021->client;
int error;
error = i2c_master_send(ar1021->client, cmd_enable_touch,
sizeof(cmd_enable_touch));
if (error < 0)
return error;
enable_irq(client->irq);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册