[PATCH] input: sirfsoc-onkey - report onkey untouch event by detecting pin status
dmitry.torokhov at gmail.com
Wed Feb 12 22:41:35 EST 2014
On February 12, 2014 6:32:03 PM PST, Barry Song <21cnbao at gmail.com> wrote:
>2014-02-13 7:11 GMT+08:00 Dmitry Torokhov <dmitry.torokhov at gmail.com>:
>> Hi Barry,
>> On Mon, Feb 10, 2014 at 06:07:39PM +0800, Barry Song wrote:
>>> static int sirfsoc_pwrc_remove(struct platform_device *pdev)
>>> + struct sirfsoc_pwrc_drvdata *pwrcdrv =
>>> device_init_wakeup(&pdev->dev, 0);
>>> + cancel_delayed_work_sync(&pwrcdrv->work);
>> This is racy: interrupt is freed later and can schedule work again.
>thanks, Dmitry. i will do a manual devm_free_irq() before cancelling
>the work and before devres removes the resources.
Another option would be to use devm custom action to ensure that work is canceled after freeing IRQ.
More information about the linux-arm-kernel