Message ID | 20190201192417.15037-1-f.fainelli@gmail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | a5c5e50cce9db7b550691e3ae801ecd4c1e59787 |
Headers | show |
Series | Input: gpio-keys - Add shutdown callback | expand |
On 2/1/19 11:24 AM, Florian Fainelli wrote: > On some platforms (e.g.: ARCH_BRCMSTB) it is possible to enter > "poweroff" while leaving some wake-up sources enabled such as key > presses in order to allow for the system to wake-up. > > Wire up a .shutdown() callback which calls into the existing > gpio_keys_suspend() since the logic is essentially the same. > > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> > --- > drivers/input/keyboard/gpio_keys.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) Any feedback on this? > > diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c > index 492a971b95b5..6cd199e8a370 100644 > --- a/drivers/input/keyboard/gpio_keys.c > +++ b/drivers/input/keyboard/gpio_keys.c > @@ -1015,8 +1015,18 @@ static int __maybe_unused gpio_keys_resume(struct device *dev) > > static SIMPLE_DEV_PM_OPS(gpio_keys_pm_ops, gpio_keys_suspend, gpio_keys_resume); > > +static void gpio_keys_shutdown(struct platform_device *pdev) > +{ > + int ret; > + > + ret = gpio_keys_suspend(&pdev->dev); > + if (ret) > + dev_err(&pdev->dev, "failed to shutdown\n"); > +} > + > static struct platform_driver gpio_keys_device_driver = { > .probe = gpio_keys_probe, > + .shutdown = gpio_keys_shutdown, > .driver = { > .name = "gpio-keys", > .pm = &gpio_keys_pm_ops, >
On Tue, Feb 05, 2019 at 02:02:49PM -0800, Florian Fainelli wrote: > On 2/1/19 11:24 AM, Florian Fainelli wrote: > > On some platforms (e.g.: ARCH_BRCMSTB) it is possible to enter > > "poweroff" while leaving some wake-up sources enabled such as key > > presses in order to allow for the system to wake-up. > > > > Wire up a .shutdown() callback which calls into the existing > > gpio_keys_suspend() since the logic is essentially the same. > > > > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> > > --- > > drivers/input/keyboard/gpio_keys.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > Any feedback on this? OK, I'll take it. Hopefully it won't affect existing systems as the change is unconditional. Thanks.
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c index 492a971b95b5..6cd199e8a370 100644 --- a/drivers/input/keyboard/gpio_keys.c +++ b/drivers/input/keyboard/gpio_keys.c @@ -1015,8 +1015,18 @@ static int __maybe_unused gpio_keys_resume(struct device *dev) static SIMPLE_DEV_PM_OPS(gpio_keys_pm_ops, gpio_keys_suspend, gpio_keys_resume); +static void gpio_keys_shutdown(struct platform_device *pdev) +{ + int ret; + + ret = gpio_keys_suspend(&pdev->dev); + if (ret) + dev_err(&pdev->dev, "failed to shutdown\n"); +} + static struct platform_driver gpio_keys_device_driver = { .probe = gpio_keys_probe, + .shutdown = gpio_keys_shutdown, .driver = { .name = "gpio-keys", .pm = &gpio_keys_pm_ops,
On some platforms (e.g.: ARCH_BRCMSTB) it is possible to enter "poweroff" while leaving some wake-up sources enabled such as key presses in order to allow for the system to wake-up. Wire up a .shutdown() callback which calls into the existing gpio_keys_suspend() since the logic is essentially the same. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> --- drivers/input/keyboard/gpio_keys.c | 10 ++++++++++ 1 file changed, 10 insertions(+)