[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a97b8fdd-4c6d-4191-b8c8-2277550a9810@tuxon.dev>
Date: Tue, 4 Nov 2025 16:04:45 +0200
From: Claudiu Beznea <claudiu.beznea@...on.dev>
To: Ulf Hansson <ulf.hansson@...aro.org>
Cc: linux@...linux.org.uk, chentao@...inos.cn,
claudiu.beznea.uj@...renesas.com, rmk+kernel@...linux.org.uk,
jroedel@...e.de, lpieralisi@...nel.org, robin.murphy@....com,
rafael@...nel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] amba: bus: Drop dev_pm_domain_detach() call
Hi, Ulf,
On 8/27/25 14:35, Ulf Hansson wrote:
> On Wed, 27 Aug 2025 at 12:03, Claudiu <claudiu.beznea@...on.dev> wrote:
>>
>> From: Claudiu Beznea <claudiu.beznea.uj@...renesas.com>
>>
>> Starting with commit f99508074e78 ("PM: domains: Detach on
>> device_unbind_cleanup()"), there is no longer a need to call
>> dev_pm_domain_detach() in the bus remove function. The
>> device_unbind_cleanup() function now handles this to avoid
>> invoking devres cleanup handlers while the PM domain is
>> powered off, which could otherwise lead to failures as
>> described in the above-mentioned commit.
>>
>> Drop the explicit dev_pm_domain_detach() call and rely instead
>> on the flags passed to dev_pm_domain_attach() to power off the
>> domain.
>>
>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@...renesas.com>
>
> Reviewed-by: Ulf Hansson <ulf.hansson@...aro.org>
>
> If it helps, let me know if you want me to pick this up via my pmdomain tree.
This wasn't picked up so far. Could you please take it through your tree if
everything looks good?
Thank you,
Claudiu
>
> Kind regards
> Uffe
>
>
>> ---
>> drivers/amba/bus.c | 9 +++------
>> 1 file changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c
>> index 74e34a07ef72..952c45ca6e48 100644
>> --- a/drivers/amba/bus.c
>> +++ b/drivers/amba/bus.c
>> @@ -291,15 +291,14 @@ static int amba_probe(struct device *dev)
>> if (ret < 0)
>> break;
>>
>> - ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON);
>> + ret = dev_pm_domain_attach(dev, PD_FLAG_ATTACH_POWER_ON |
>> + PD_FLAG_DETACH_POWER_OFF);
>> if (ret)
>> break;
>>
>> ret = amba_get_enable_pclk(pcdev);
>> - if (ret) {
>> - dev_pm_domain_detach(dev, true);
>> + if (ret)
>> break;
>> - }
>>
>> pm_runtime_get_noresume(dev);
>> pm_runtime_set_active(dev);
>> @@ -314,7 +313,6 @@ static int amba_probe(struct device *dev)
>> pm_runtime_put_noidle(dev);
>>
>> amba_put_disable_pclk(pcdev);
>> - dev_pm_domain_detach(dev, true);
>> } while (0);
>>
>> return ret;
>> @@ -336,7 +334,6 @@ static void amba_remove(struct device *dev)
>> pm_runtime_put_noidle(dev);
>>
>> amba_put_disable_pclk(pcdev);
>> - dev_pm_domain_detach(dev, true);
>> }
>>
>> static void amba_shutdown(struct device *dev)
>> --
>> 2.43.0
>>
>
>
Powered by blists - more mailing lists