Commit 2dfb9a85 authored by Magnus Damm's avatar Magnus Damm Committed by Dmitry Torokhov

Input: sh_keysc - switch to threaded IRQ handler

Update the KEYSC driver to make use of threaded IRQs with IRQF_ONESHOT
to improve interrupt latency. The driver is using udelay() in the ISR
to make sure the hardware has stabilized. Without using interrupt threads
this delay may affect the latency of the rest of the system.

Also pass dev_name() as string for /proc/interrupts.
Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent b6d2a3e6
...@@ -231,7 +231,8 @@ static int __devinit sh_keysc_probe(struct platform_device *pdev) ...@@ -231,7 +231,8 @@ static int __devinit sh_keysc_probe(struct platform_device *pdev)
input->keycodesize = sizeof(pdata->keycodes[0]); input->keycodesize = sizeof(pdata->keycodes[0]);
input->keycodemax = ARRAY_SIZE(pdata->keycodes); input->keycodemax = ARRAY_SIZE(pdata->keycodes);
error = request_irq(irq, sh_keysc_isr, 0, pdev->name, pdev); error = request_threaded_irq(irq, NULL, sh_keysc_isr, IRQF_ONESHOT,
dev_name(&pdev->dev), pdev);
if (error) { if (error) {
dev_err(&pdev->dev, "failed to request IRQ\n"); dev_err(&pdev->dev, "failed to request IRQ\n");
goto err3; goto err3;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment