Message ID | 20241228-wake_irq-v1-0-09cfca77cd47@nxp.com (mailing list archive) |
---|---|
Headers | show |
Series | pm: Introduce devm_pm_set_wake_irq | expand |
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> >
On Sat, Dec 28, 2024 at 11:10:46AM +0100, Alexandre Belloni wrote: >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. The devm_device_init_wakeup patch in linux-next/master commit b317268368546d6401af788648668f82e3ba1bd3 Author: Joe Hattori <joe@pf.is.s.u-tokyo.ac.jp> Date: Wed Dec 18 13:09:35 2024 +0900 PM: wakeup: implement devm_device_init_wakeup() helper Some drivers that enable device wakeup fail to properly disable it during their cleanup, which results in a memory leak. To address this, introduce devm_device_init_wakeup(), a managed variant of device_init_wakeup(dev, true). With this managed helper, wakeup functionality will be automatically disabled when the device is released, ensuring a more reliable cleanup process. This need for this addition arose during a previous discussion [1]. Link: https://lore.kernel.org/linux-rtc/20241212100403.3799667-1-joe@pf.is.s.u-tokyo.ac.jp/ [1] Suggested-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Joe Hattori <joe@pf.is.s.u-tokyo.ac.jp> Link: https://patch.msgid.link/20241218040935.1921416-1-joe@pf.is.s.u-tokyo.ac.jp Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Thanks, Peng. > >> >> 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> >> > >-- >Alexandre Belloni, co-owner and COO, Bootlin >Embedded Linux and Kernel engineering >https://bootlin.com
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,