diff options
Diffstat (limited to 'drivers/mfd/ucb1x00-ts.c')
-rw-r--r-- | drivers/mfd/ucb1x00-ts.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/drivers/mfd/ucb1x00-ts.c b/drivers/mfd/ucb1x00-ts.c index cb8c264eaff0..38e815a2e871 100644 --- a/drivers/mfd/ucb1x00-ts.c +++ b/drivers/mfd/ucb1x00-ts.c | |||
@@ -207,16 +207,7 @@ static int ucb1x00_thread(void *_ts) | |||
207 | struct ucb1x00_ts *ts = _ts; | 207 | struct ucb1x00_ts *ts = _ts; |
208 | struct task_struct *tsk = current; | 208 | struct task_struct *tsk = current; |
209 | DECLARE_WAITQUEUE(wait, tsk); | 209 | DECLARE_WAITQUEUE(wait, tsk); |
210 | int valid; | 210 | int valid = 0; |
211 | |||
212 | /* | ||
213 | * We could run as a real-time thread. However, thus far | ||
214 | * this doesn't seem to be necessary. | ||
215 | */ | ||
216 | // tsk->policy = SCHED_FIFO; | ||
217 | // tsk->rt_priority = 1; | ||
218 | |||
219 | valid = 0; | ||
220 | 211 | ||
221 | add_wait_queue(&ts->irq_wait, &wait); | 212 | add_wait_queue(&ts->irq_wait, &wait); |
222 | while (!kthread_should_stop()) { | 213 | while (!kthread_should_stop()) { |
@@ -300,7 +291,7 @@ static void ucb1x00_ts_irq(int idx, void *id) | |||
300 | 291 | ||
301 | static int ucb1x00_ts_open(struct input_dev *idev) | 292 | static int ucb1x00_ts_open(struct input_dev *idev) |
302 | { | 293 | { |
303 | struct ucb1x00_ts *ts = idev->private; | 294 | struct ucb1x00_ts *ts = input_get_drvdata(idev); |
304 | int ret = 0; | 295 | int ret = 0; |
305 | 296 | ||
306 | BUG_ON(ts->rtask); | 297 | BUG_ON(ts->rtask); |
@@ -337,7 +328,7 @@ static int ucb1x00_ts_open(struct input_dev *idev) | |||
337 | */ | 328 | */ |
338 | static void ucb1x00_ts_close(struct input_dev *idev) | 329 | static void ucb1x00_ts_close(struct input_dev *idev) |
339 | { | 330 | { |
340 | struct ucb1x00_ts *ts = idev->private; | 331 | struct ucb1x00_ts *ts = input_get_drvdata(idev); |
341 | 332 | ||
342 | if (ts->rtask) | 333 | if (ts->rtask) |
343 | kthread_stop(ts->rtask); | 334 | kthread_stop(ts->rtask); |
@@ -389,7 +380,6 @@ static int ucb1x00_ts_add(struct ucb1x00_dev *dev) | |||
389 | ts->idev = idev; | 380 | ts->idev = idev; |
390 | ts->adcsync = adcsync ? UCB_SYNC : UCB_NOSYNC; | 381 | ts->adcsync = adcsync ? UCB_SYNC : UCB_NOSYNC; |
391 | 382 | ||
392 | idev->private = ts; | ||
393 | idev->name = "Touchscreen panel"; | 383 | idev->name = "Touchscreen panel"; |
394 | idev->id.product = ts->ucb->id; | 384 | idev->id.product = ts->ucb->id; |
395 | idev->open = ucb1x00_ts_open; | 385 | idev->open = ucb1x00_ts_open; |
@@ -400,6 +390,8 @@ static int ucb1x00_ts_add(struct ucb1x00_dev *dev) | |||
400 | __set_bit(ABS_Y, idev->absbit); | 390 | __set_bit(ABS_Y, idev->absbit); |
401 | __set_bit(ABS_PRESSURE, idev->absbit); | 391 | __set_bit(ABS_PRESSURE, idev->absbit); |
402 | 392 | ||
393 | input_set_drvdata(idev, ts); | ||
394 | |||
403 | err = input_register_device(idev); | 395 | err = input_register_device(idev); |
404 | if (err) | 396 | if (err) |
405 | goto fail; | 397 | goto fail; |