diff options
author | Samuel Holland | 2023-07-17 12:20:03 -0700 |
---|---|---|
committer | Dmitry Torokhov | 2023-07-18 11:37:52 -0700 |
commit | d7781232b5b2d049e654d5ead9921dc49090d214 (patch) | |
tree | 16790b85e362d26794090de2c8897d88eeb21080 /drivers/input | |
parent | 904ef2c47d8f3d0f0c7d5c0dd68ecc95908d7360 (diff) |
Input: da9063 - add wakeup support
Mark the IRQ as a wake IRQ so it will be enabled during system suspend.
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Link: https://lore.kernel.org/r/20230717192004.1304287-1-samuel.holland@sifive.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/misc/da9063_onkey.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/input/misc/da9063_onkey.c b/drivers/input/misc/da9063_onkey.c index b14a389600c9..74808bae326a 100644 --- a/drivers/input/misc/da9063_onkey.c +++ b/drivers/input/misc/da9063_onkey.c @@ -10,6 +10,7 @@ #include <linux/input.h> #include <linux/interrupt.h> #include <linux/platform_device.h> +#include <linux/pm_wakeirq.h> #include <linux/workqueue.h> #include <linux/regmap.h> #include <linux/of.h> @@ -251,6 +252,14 @@ static int da9063_onkey_probe(struct platform_device *pdev) return error; } + error = dev_pm_set_wake_irq(&pdev->dev, irq); + if (error) + dev_warn(&pdev->dev, + "Failed to set IRQ %d as a wake IRQ: %d\n", + irq, error); + else + device_init_wakeup(&pdev->dev, true); + error = input_register_device(onkey->input); if (error) { dev_err(&pdev->dev, |