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: Magnus Damm <damm@opensource.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
Родитель
b6d2a3e6ff
Коммит
2dfb9a85ec
|
@ -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;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче