mbox series

[00/12] pm: Introduce devm_pm_set_wake_irq

Message ID 20241228-wake_irq-v1-0-09cfca77cd47@nxp.com
Headers show
Series pm: Introduce devm_pm_set_wake_irq | expand

Message

Peng Fan (OSS) Dec. 28, 2024, 1:14 a.m. UTC
This was a retry to address [1][2], to let common code handle
dev_pm_clear_wake_irq. Then no need to call dev_pm_clear_wake_irq
in each driver.remove() hook and error handling path.

In this patchset, I include input and rtc patches to show the usage
to avoid that introducing an API without users. There are still
other places using dev_pm_clear_wake_irq. If this patchset is
good for you, I could start to clean up other drivers such as mmc and
etc.

[1] https://lore.kernel.org/all/20241111092131.1693319-1-peng.fan@oss.nxp.com/
[2] https://lore.kernel.org/all/ZymxvLMkkktRoCXZ@google.com/

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Peng Fan (12):
      PM: sleep: wakeirq: Introduce device-managed variant of dev_pm_set_wake_irq
      input: keyboard: ep93xx_keypad: Use devm_pm_set_wake_irq
      input: keyboard: omap4_keypad: Use devm_pm_set_wake_irq
      input: misc: nxp-bbnsm-pwrkey: Use resource managed API to simplify code
      input: touchscreen: ti_am335x_tsc: Use resource managed API to simplify code
      rtc: stm32: Use resource managed API to simplify code
      rtc: nxp-bbnsm: Use resource managed API to simplify code
      rtc: ds1343: Use devm_pm_set_wake_irq
      rtc: pm8xxx: Use devm_pm_set_wake_irq
      rtc: ab8500: Use resource managed API to simplify code
      rtc: mpfs: Use devm_pm_set_wake_irq
      rtc: pl031: Use resource managed API to simplify code

 drivers/base/power/wakeirq.c              | 25 ++++++++++++++++++
 drivers/input/keyboard/ep93xx_keypad.c    |  8 +-----
 drivers/input/keyboard/omap4-keypad.c     |  8 +-----
 drivers/input/misc/nxp-bbnsm-pwrkey.c     | 15 ++++-------
 drivers/input/touchscreen/ti_am335x_tsc.c | 43 ++++++++++---------------------
 drivers/rtc/rtc-ab8500.c                  | 11 ++------
 drivers/rtc/rtc-ds1343.c                  |  8 +-----
 drivers/rtc/rtc-mpfs.c                    |  8 +-----
 drivers/rtc/rtc-nxp-bbnsm.c               | 29 +++++++--------------
 drivers/rtc/rtc-pl031.c                   |  6 ++---
 drivers/rtc/rtc-pm8xxx.c                  | 12 +--------
 drivers/rtc/rtc-stm32.c                   | 10 ++-----
 include/linux/pm_wakeirq.h                |  6 +++++
 13 files changed, 70 insertions(+), 119 deletions(-)
---
base-commit: 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2
change-id: 20241227-wake_irq-b68d604dd902

Best regards,

Comments

Alexandre Belloni Dec. 28, 2024, 10:10 a.m. UTC | #1
On 28/12/2024 09:14:36+0800, Peng Fan (OSS) wrote:
> This was a retry to address [1][2], to let common code handle
> dev_pm_clear_wake_irq. Then no need to call dev_pm_clear_wake_irq
> in each driver.remove() hook and error handling path.
> 
> In this patchset, I include input and rtc patches to show the usage
> to avoid that introducing an API without users. There are still
> other places using dev_pm_clear_wake_irq. If this patchset is
> good for you, I could start to clean up other drivers such as mmc and
> etc.
> 
> [1] https://lore.kernel.org/all/20241111092131.1693319-1-peng.fan@oss.nxp.com/
> [2] https://lore.kernel.org/all/ZymxvLMkkktRoCXZ@google.com/

It seems your patchset depends on devm_device_init_wakeup which did not
make it yet.

> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> Peng Fan (12):
>       PM: sleep: wakeirq: Introduce device-managed variant of dev_pm_set_wake_irq
>       input: keyboard: ep93xx_keypad: Use devm_pm_set_wake_irq
>       input: keyboard: omap4_keypad: Use devm_pm_set_wake_irq
>       input: misc: nxp-bbnsm-pwrkey: Use resource managed API to simplify code
>       input: touchscreen: ti_am335x_tsc: Use resource managed API to simplify code
>       rtc: stm32: Use resource managed API to simplify code
>       rtc: nxp-bbnsm: Use resource managed API to simplify code
>       rtc: ds1343: Use devm_pm_set_wake_irq
>       rtc: pm8xxx: Use devm_pm_set_wake_irq
>       rtc: ab8500: Use resource managed API to simplify code
>       rtc: mpfs: Use devm_pm_set_wake_irq
>       rtc: pl031: Use resource managed API to simplify code
> 
>  drivers/base/power/wakeirq.c              | 25 ++++++++++++++++++
>  drivers/input/keyboard/ep93xx_keypad.c    |  8 +-----
>  drivers/input/keyboard/omap4-keypad.c     |  8 +-----
>  drivers/input/misc/nxp-bbnsm-pwrkey.c     | 15 ++++-------
>  drivers/input/touchscreen/ti_am335x_tsc.c | 43 ++++++++++---------------------
>  drivers/rtc/rtc-ab8500.c                  | 11 ++------
>  drivers/rtc/rtc-ds1343.c                  |  8 +-----
>  drivers/rtc/rtc-mpfs.c                    |  8 +-----
>  drivers/rtc/rtc-nxp-bbnsm.c               | 29 +++++++--------------
>  drivers/rtc/rtc-pl031.c                   |  6 ++---
>  drivers/rtc/rtc-pm8xxx.c                  | 12 +--------
>  drivers/rtc/rtc-stm32.c                   | 10 ++-----
>  include/linux/pm_wakeirq.h                |  6 +++++
>  13 files changed, 70 insertions(+), 119 deletions(-)
> ---
> base-commit: 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2
> change-id: 20241227-wake_irq-b68d604dd902
> 
> Best regards,
> -- 
> Peng Fan <peng.fan@nxp.com>
>