Skip to content

Commit

Permalink
Input: sh_keysc - switch to threaded IRQ handler
Browse files Browse the repository at this point in the history
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: Magnus Damm <damm@opensource.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Magnus Damm authored and Dmitry Torokhov committed Apr 28, 2011
1 parent b6d2a3e commit 2dfb9a8
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/input/keyboard/sh_keysc.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,8 @@ static int __devinit sh_keysc_probe(struct platform_device *pdev)
input->keycodesize = sizeof(pdata->keycodes[0]);
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) {
dev_err(&pdev->dev, "failed to request IRQ\n");
goto err3;
Expand Down

0 comments on commit 2dfb9a8

Please sign in to comment.