Staging: dream: Synaptic: Add threaded IRQ support
Signed-off-by: Hemanth V <hemanthv@ti.com> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
cf1b02d0b8
commit
97dcc7c6fc
@ -199,8 +199,6 @@ static void synaptics_ts_work_func(struct work_struct *work)
|
|||||||
|
|
||||||
decode_report(ts, buf);
|
decode_report(ts, buf);
|
||||||
}
|
}
|
||||||
if (ts->use_irq)
|
|
||||||
enable_irq(ts->client->irq);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static enum hrtimer_restart synaptics_ts_timer_func(struct hrtimer *timer)
|
static enum hrtimer_restart synaptics_ts_timer_func(struct hrtimer *timer)
|
||||||
@ -218,8 +216,7 @@ static irqreturn_t synaptics_ts_irq_handler(int irq, void *dev_id)
|
|||||||
{
|
{
|
||||||
struct synaptics_ts_data *ts = dev_id;
|
struct synaptics_ts_data *ts = dev_id;
|
||||||
|
|
||||||
disable_irq_nosync(ts->client->irq);
|
synaptics_ts_work_func(&ts->work);
|
||||||
queue_work(synaptics_wq, &ts->work);
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -485,8 +482,10 @@ static int __devinit synaptics_ts_probe(
|
|||||||
goto err_input_register_device_failed;
|
goto err_input_register_device_failed;
|
||||||
}
|
}
|
||||||
if (client->irq) {
|
if (client->irq) {
|
||||||
ret = request_irq(client->irq, synaptics_ts_irq_handler,
|
ret = request_threaded_irq(client->irq, NULL,
|
||||||
0, client->name, ts);
|
synaptics_ts_irq_handler,
|
||||||
|
IRQF_TRIGGER_LOW|IRQF_ONESHOT,
|
||||||
|
client->name, ts);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = i2c_set(ts, 0xf1, 0x01, "enable abs int");
|
ret = i2c_set(ts, 0xf1, 0x01, "enable abs int");
|
||||||
if (ret)
|
if (ret)
|
||||||
|
Loading…
Reference in New Issue
Block a user