[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250929233625.jpk2sxjxhj2kghfb@synopsys.com>
Date: Mon, 29 Sep 2025 23:36:27 +0000
From: Thinh Nguyen <Thinh.Nguyen@...opsys.com>
To: Christophe JAILLET <christophe.jaillet@...adoo.fr>
CC: Thinh Nguyen <Thinh.Nguyen@...opsys.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Ze Huang <huang.ze@...ux.dev>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kernel-janitors@...r.kernel.org" <kernel-janitors@...r.kernel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>
Subject: Re: [PATCH] usb: dwc3: Don't call clk_bulk_disable_unprepare() twice
On Mon, Sep 29, 2025, Christophe JAILLET wrote:
> devm_clk_bulk_get_all_enabled() is used in the probe, so
> clk_bulk_disable_unprepare() should not be called explicitly in the remove
> function.
Why not? The clk_bulk_disable_unprepare() is to disable and unprepare
the clocks, not freeing the clocks.
BR,
Thinh
>
> Fixes: e0b6dc00c701 ("usb: dwc3: add generic driver to support flattened")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@...adoo.fr>
> ---
> drivers/usb/dwc3/dwc3-generic-plat.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/usb/dwc3/dwc3-generic-plat.c b/drivers/usb/dwc3/dwc3-generic-plat.c
> index d96b20570002..f8ad79c08c4e 100644
> --- a/drivers/usb/dwc3/dwc3-generic-plat.c
> +++ b/drivers/usb/dwc3/dwc3-generic-plat.c
> @@ -85,11 +85,8 @@ static int dwc3_generic_probe(struct platform_device *pdev)
> static void dwc3_generic_remove(struct platform_device *pdev)
> {
> struct dwc3 *dwc = platform_get_drvdata(pdev);
> - struct dwc3_generic *dwc3g = to_dwc3_generic(dwc);
>
> dwc3_core_remove(dwc);
> -
> - clk_bulk_disable_unprepare(dwc3g->num_clocks, dwc3g->clks);
> }
>
> static int dwc3_generic_suspend(struct device *dev)
> --
> 2.51.0
>
Powered by blists - more mailing lists