summaryrefslogtreecommitdiff
path: root/drivers/input/touchscreen/tps6507x-ts.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/touchscreen/tps6507x-ts.c')
-rw-r--r--drivers/input/touchscreen/tps6507x-ts.c25
1 files changed, 5 insertions, 20 deletions
diff --git a/drivers/input/touchscreen/tps6507x-ts.c b/drivers/input/touchscreen/tps6507x-ts.c
index 820a066c3b8a..1fb397c42aa3 100644
--- a/drivers/input/touchscreen/tps6507x-ts.c
+++ b/drivers/input/touchscreen/tps6507x-ts.c
@@ -42,7 +42,6 @@ struct tps6507x_ts {
struct device *dev;
char phys[32];
struct delayed_work work;
- unsigned polling; /* polling is active */
struct ts_event tc;
struct tps6507x_dev *mfd;
u16 model;
@@ -168,7 +167,6 @@ static void tps6507x_ts_handler(struct work_struct *work)
struct input_dev *input_dev = tsc->input_dev;
int pendown;
int schd;
- int poll = 0;
s32 ret;
ret = tps6507x_adc_conversion(tsc, TPS6507X_TSCMODE_PRESSURE,
@@ -209,24 +207,14 @@ static void tps6507x_ts_handler(struct work_struct *work)
input_report_abs(input_dev, ABS_PRESSURE, tsc->tc.pressure);
input_sync(input_dev);
tsc->pendown = 1;
- poll = 1;
}
done:
/* always poll if not using interrupts */
- poll = 1;
-
- if (poll) {
- schd = schedule_delayed_work(&tsc->work,
- msecs_to_jiffies(tsc->poll_period));
- if (schd)
- tsc->polling = 1;
- else {
- tsc->polling = 0;
- dev_err(tsc->dev, "re-schedule failed");
- }
- } else
- tsc->polling = 0;
+ schd = schedule_delayed_work(&tsc->work,
+ msecs_to_jiffies(tsc->poll_period));
+ if (!schd)
+ dev_err(tsc->dev, "re-schedule failed");
ret = tps6507x_adc_standby(tsc);
}
@@ -324,10 +312,7 @@ static int tps6507x_ts_probe(struct platform_device *pdev)
schd = schedule_delayed_work(&tsc->work,
msecs_to_jiffies(tsc->poll_period));
- if (schd)
- tsc->polling = 1;
- else {
- tsc->polling = 0;
+ if (!schd) {
dev_err(tsc->dev, "schedule failed");
goto err2;
}