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 */