diff options
Diffstat (limited to 'drivers/input/touchscreen/mc13783_ts.c')
-rw-r--r-- | drivers/input/touchscreen/mc13783_ts.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/input/touchscreen/mc13783_ts.c b/drivers/input/touchscreen/mc13783_ts.c index ede02743eac1..48dc5b0d26f1 100644 --- a/drivers/input/touchscreen/mc13783_ts.c +++ b/drivers/input/touchscreen/mc13783_ts.c | |||
@@ -39,6 +39,7 @@ struct mc13783_ts_priv { | |||
39 | struct delayed_work work; | 39 | struct delayed_work work; |
40 | struct workqueue_struct *workq; | 40 | struct workqueue_struct *workq; |
41 | unsigned int sample[4]; | 41 | unsigned int sample[4]; |
42 | struct mc13xxx_ts_platform_data *touch; | ||
42 | }; | 43 | }; |
43 | 44 | ||
44 | static irqreturn_t mc13783_ts_handler(int irq, void *data) | 45 | static irqreturn_t mc13783_ts_handler(int irq, void *data) |
@@ -125,7 +126,9 @@ static void mc13783_ts_work(struct work_struct *work) | |||
125 | unsigned int channel = 12; | 126 | unsigned int channel = 12; |
126 | 127 | ||
127 | if (mc13xxx_adc_do_conversion(priv->mc13xxx, | 128 | if (mc13xxx_adc_do_conversion(priv->mc13xxx, |
128 | mode, channel, priv->sample) == 0) | 129 | mode, channel, |
130 | priv->touch->ato, priv->touch->atox, | ||
131 | priv->sample) == 0) | ||
129 | mc13783_ts_report_sample(priv); | 132 | mc13783_ts_report_sample(priv); |
130 | } | 133 | } |
131 | 134 | ||
@@ -179,6 +182,12 @@ static int __init mc13783_ts_probe(struct platform_device *pdev) | |||
179 | INIT_DELAYED_WORK(&priv->work, mc13783_ts_work); | 182 | INIT_DELAYED_WORK(&priv->work, mc13783_ts_work); |
180 | priv->mc13xxx = dev_get_drvdata(pdev->dev.parent); | 183 | priv->mc13xxx = dev_get_drvdata(pdev->dev.parent); |
181 | priv->idev = idev; | 184 | priv->idev = idev; |
185 | priv->touch = dev_get_platdata(&pdev->dev); | ||
186 | if (!priv->touch) { | ||
187 | dev_err(&pdev->dev, "missing platform data\n"); | ||
188 | ret = -ENODEV; | ||
189 | goto err_free_mem; | ||
190 | } | ||
182 | 191 | ||
183 | /* | 192 | /* |
184 | * We need separate workqueue because mc13783_adc_do_conversion | 193 | * We need separate workqueue because mc13783_adc_do_conversion |