diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-09-19 13:21:21 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-09-19 13:21:21 -0400 |
| commit | 0b6c404a07e3240b95aa5682fb8fd57c41609d7a (patch) | |
| tree | c4d410b0ec7044922b73c39ecfb3fbb620c29282 /drivers/input/touchscreen | |
| parent | 609455f481772c5a875b88e860a2ee0e2f25ebf0 (diff) | |
| parent | 55d512e245bc7699a8800e23df1a24195dd08217 (diff) | |
Merge tag 'v3.6-rc5' into for-linus
Sync with mainline so that I can revert an input patch that came in through
another subsystem tree.
Diffstat (limited to 'drivers/input/touchscreen')
| -rw-r--r-- | drivers/input/touchscreen/eeti_ts.c | 21 | ||||
| -rw-r--r-- | drivers/input/touchscreen/jornada720_ts.c | 1 |
2 files changed, 14 insertions, 8 deletions
diff --git a/drivers/input/touchscreen/eeti_ts.c b/drivers/input/touchscreen/eeti_ts.c index 503c7096ed36..908407efc672 100644 --- a/drivers/input/touchscreen/eeti_ts.c +++ b/drivers/input/touchscreen/eeti_ts.c | |||
| @@ -48,7 +48,7 @@ struct eeti_ts_priv { | |||
| 48 | struct input_dev *input; | 48 | struct input_dev *input; |
| 49 | struct work_struct work; | 49 | struct work_struct work; |
| 50 | struct mutex mutex; | 50 | struct mutex mutex; |
| 51 | int irq, irq_active_high; | 51 | int irq_gpio, irq, irq_active_high; |
| 52 | }; | 52 | }; |
| 53 | 53 | ||
| 54 | #define EETI_TS_BITDEPTH (11) | 54 | #define EETI_TS_BITDEPTH (11) |
| @@ -62,7 +62,7 @@ struct eeti_ts_priv { | |||
| 62 | 62 | ||
| 63 | static inline int eeti_ts_irq_active(struct eeti_ts_priv *priv) | 63 | static inline int eeti_ts_irq_active(struct eeti_ts_priv *priv) |
| 64 | { | 64 | { |
| 65 | return gpio_get_value(irq_to_gpio(priv->irq)) == priv->irq_active_high; | 65 | return gpio_get_value(priv->irq_gpio) == priv->irq_active_high; |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | static void eeti_ts_read(struct work_struct *work) | 68 | static void eeti_ts_read(struct work_struct *work) |
| @@ -157,7 +157,7 @@ static void eeti_ts_close(struct input_dev *dev) | |||
| 157 | static int __devinit eeti_ts_probe(struct i2c_client *client, | 157 | static int __devinit eeti_ts_probe(struct i2c_client *client, |
| 158 | const struct i2c_device_id *idp) | 158 | const struct i2c_device_id *idp) |
| 159 | { | 159 | { |
| 160 | struct eeti_ts_platform_data *pdata; | 160 | struct eeti_ts_platform_data *pdata = client->dev.platform_data; |
| 161 | struct eeti_ts_priv *priv; | 161 | struct eeti_ts_priv *priv; |
| 162 | struct input_dev *input; | 162 | struct input_dev *input; |
| 163 | unsigned int irq_flags; | 163 | unsigned int irq_flags; |
| @@ -199,9 +199,12 @@ static int __devinit eeti_ts_probe(struct i2c_client *client, | |||
| 199 | 199 | ||
| 200 | priv->client = client; | 200 | priv->client = client; |
| 201 | priv->input = input; | 201 | priv->input = input; |
| 202 | priv->irq = client->irq; | 202 | priv->irq_gpio = pdata->irq_gpio; |
| 203 | priv->irq = gpio_to_irq(pdata->irq_gpio); | ||
| 203 | 204 | ||
| 204 | pdata = client->dev.platform_data; | 205 | err = gpio_request_one(pdata->irq_gpio, GPIOF_IN, client->name); |
| 206 | if (err < 0) | ||
| 207 | goto err1; | ||
| 205 | 208 | ||
| 206 | if (pdata) | 209 | if (pdata) |
| 207 | priv->irq_active_high = pdata->irq_active_high; | 210 | priv->irq_active_high = pdata->irq_active_high; |
| @@ -215,13 +218,13 @@ static int __devinit eeti_ts_probe(struct i2c_client *client, | |||
| 215 | 218 | ||
| 216 | err = input_register_device(input); | 219 | err = input_register_device(input); |
| 217 | if (err) | 220 | if (err) |
| 218 | goto err1; | 221 | goto err2; |
| 219 | 222 | ||
| 220 | err = request_irq(priv->irq, eeti_ts_isr, irq_flags, | 223 | err = request_irq(priv->irq, eeti_ts_isr, irq_flags, |
| 221 | client->name, priv); | 224 | client->name, priv); |
| 222 | if (err) { | 225 | if (err) { |
| 223 | dev_err(&client->dev, "Unable to request touchscreen IRQ.\n"); | 226 | dev_err(&client->dev, "Unable to request touchscreen IRQ.\n"); |
| 224 | goto err2; | 227 | goto err3; |
| 225 | } | 228 | } |
| 226 | 229 | ||
| 227 | /* | 230 | /* |
| @@ -233,9 +236,11 @@ static int __devinit eeti_ts_probe(struct i2c_client *client, | |||
| 233 | device_init_wakeup(&client->dev, 0); | 236 | device_init_wakeup(&client->dev, 0); |
| 234 | return 0; | 237 | return 0; |
| 235 | 238 | ||
| 236 | err2: | 239 | err3: |
| 237 | input_unregister_device(input); | 240 | input_unregister_device(input); |
| 238 | input = NULL; /* so we dont try to free it below */ | 241 | input = NULL; /* so we dont try to free it below */ |
| 242 | err2: | ||
| 243 | gpio_free(pdata->irq_gpio); | ||
| 239 | err1: | 244 | err1: |
| 240 | input_free_device(input); | 245 | input_free_device(input); |
| 241 | kfree(priv); | 246 | kfree(priv); |
diff --git a/drivers/input/touchscreen/jornada720_ts.c b/drivers/input/touchscreen/jornada720_ts.c index d9be6eac99b1..7f03d1bd916e 100644 --- a/drivers/input/touchscreen/jornada720_ts.c +++ b/drivers/input/touchscreen/jornada720_ts.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
| 20 | #include <linux/module.h> | 20 | #include <linux/module.h> |
| 21 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
| 22 | #include <linux/io.h> | ||
| 22 | 23 | ||
| 23 | #include <mach/hardware.h> | 24 | #include <mach/hardware.h> |
| 24 | #include <mach/jornada720.h> | 25 | #include <mach/jornada720.h> |
