Input: synaptics_i2c_rmi: Add irqflags to platform data struct to pass them to driver
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
diff --git a/drivers/input/touchscreen/synaptics_i2c_rmi.c b/drivers/input/touchscreen/synaptics_i2c_rmi.c
index 65436f6..5729602 100644
--- a/drivers/input/touchscreen/synaptics_i2c_rmi.c
+++ b/drivers/input/touchscreen/synaptics_i2c_rmi.c
@@ -266,6 +266,7 @@
uint16_t max_x, max_y;
int fuzz_x, fuzz_y, fuzz_p, fuzz_w;
struct synaptics_i2c_rmi_platform_data *pdata;
+ unsigned long irqflags;
int inactive_area_left;
int inactive_area_right;
int inactive_area_top;
@@ -345,6 +346,7 @@
pdata++;
ts->flags = pdata->flags;
ts->sensitivity_adjust = pdata->sensitivity_adjust;
+ irqflags = pdata->irqflags;
inactive_area_left = pdata->inactive_left;
inactive_area_right = pdata->inactive_right;
inactive_area_top = pdata->inactive_top;
@@ -362,6 +364,7 @@
fuzz_p = pdata->fuzz_p;
fuzz_w = pdata->fuzz_w;
} else {
+ irqflags = 0;
inactive_area_left = 0;
inactive_area_right = 0;
inactive_area_top = 0;
@@ -513,7 +516,7 @@
goto err_input_register_device_failed;
}
if (client->irq) {
- ret = request_irq(client->irq, synaptics_ts_irq_handler, 0, client->name, ts);
+ ret = request_irq(client->irq, synaptics_ts_irq_handler, irqflags, client->name, ts);
if (ret == 0) {
ret = i2c_smbus_write_byte_data(ts->client, 0xf1, 0x01); /* enable abs int */
if (ret)
diff --git a/include/linux/synaptics_i2c_rmi.h b/include/linux/synaptics_i2c_rmi.h
index 0e40703..5539cc5 100644
--- a/include/linux/synaptics_i2c_rmi.h
+++ b/include/linux/synaptics_i2c_rmi.h
@@ -32,6 +32,7 @@
/* If non-zero another array entry follows */
int (*power)(int on); /* Only valid in first array entry */
uint32_t flags;
+ unsigned long irqflags;
uint32_t inactive_left; /* 0x10000 = screen width */
uint32_t inactive_right; /* 0x10000 = screen width */
uint32_t inactive_top; /* 0x10000 = screen height */