Re: [PATCH 00/12] pm: Introduce devm_pm_set_wake_irq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx/
>> [2] https://lore.kernel.org/all/ZymxvLMkkktRoCXZ@xxxxxxxxxx/
>
>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@xxxxxxxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxxxxxxx/ [1]
    Suggested-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
    Signed-off-by: Joe Hattori <joe@xxxxxxxxxxxxxxxxxxxxx>
    Link: https://patch.msgid.link/20241218040935.1921416-1-joe@xxxxxxxxxxxxxxxxxxxxx
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

Thanks,
Peng.

>
>> 
>> Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
>> ---
>> 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@xxxxxxx>
>> 
>
>-- 
>Alexandre Belloni, co-owner and COO, Bootlin
>Embedded Linux and Kernel engineering
>https://bootlin.com




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux