Input: synaptics_i2c_rmi: Add irqflags to platform data struct to pass them to driver
authorRebecca Schultz Zavin <rebecca@android.com>
Mon, 30 Mar 2009 05:10:22 +0000 (22:10 -0700)
committerArve Hjønnevåg <arve@android.com>
Mon, 8 Feb 2010 23:07:52 +0000 (15:07 -0800)
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
include/linux/synaptics_i2c_rmi.h

index e003e42b60265d6be810c38a180a02eb17da1cfc..f37c0c0fba4dcd6f32b9b653d87fe85a05d5af73 100644 (file)
@@ -265,6 +265,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;
@@ -344,6 +345,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;
@@ -361,6 +363,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;
@@ -512,7 +515,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)
index 0e40703807f4d364921b7e3e65dd6b6ed11d96ce..5539cc5207796f4f9186b137286fecfbeeeb11d4 100644 (file)
@@ -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 */