From 70abd67c1d38f7df5ef9f69b80b3bbe3d4bb37f5 Mon Sep 17 00:00:00 2001
From: Rebecca Schultz Zavin <rebecca@android.com>
Date: Sun, 29 Mar 2009 22:10:22 -0700
Subject: [PATCH] Input: synaptics_i2c_rmi: Add irqflags to platform data
 struct to pass them to driver
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
---
 drivers/input/touchscreen/synaptics_i2c_rmi.c | 5 ++++-
 include/linux/synaptics_i2c_rmi.h             | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/synaptics_i2c_rmi.c b/drivers/input/touchscreen/synaptics_i2c_rmi.c
index 65436f65a92e..5729602cbb63 100644
--- a/drivers/input/touchscreen/synaptics_i2c_rmi.c
+++ b/drivers/input/touchscreen/synaptics_i2c_rmi.c
@@ -266,6 +266,7 @@ static int synaptics_ts_probe(
 	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 @@ static int synaptics_ts_probe(
 			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 @@ static int synaptics_ts_probe(
 		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 @@ static int synaptics_ts_probe(
 		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 0e40703807f4..5539cc520779 100644
--- a/include/linux/synaptics_i2c_rmi.h
+++ b/include/linux/synaptics_i2c_rmi.h
@@ -32,6 +32,7 @@ struct synaptics_i2c_rmi_platform_data {
 				/* 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 */
-- 
2.34.1