mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] usb: dwc3: Don't call clk_bulk_disable_unprepare() twice
@ 2025-09-29 18:28 Christophe JAILLET
  2025-09-29 23:36 ` Thinh Nguyen
  0 siblings, 1 reply; 3+ messages in thread
From: Christophe JAILLET @ 2025-09-29 18:28 UTC (permalink / raw)
  To: Thinh Nguyen, Greg Kroah-Hartman, Ze Huang
  Cc: linux-kernel, kernel-janitors, Christophe JAILLET, linux-usb

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.

Fixes: e0b6dc00c701 ("usb: dwc3: add generic driver to support flattened")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] usb: dwc3: Don't call clk_bulk_disable_unprepare() twice
  2025-09-29 18:28 [PATCH] usb: dwc3: Don't call clk_bulk_disable_unprepare() twice Christophe JAILLET
@ 2025-09-29 23:36 ` Thinh Nguyen
  2025-09-29 23:46   ` Thinh Nguyen
  0 siblings, 1 reply; 3+ messages in thread
From: Thinh Nguyen @ 2025-09-29 23:36 UTC (permalink / raw)
  To: Christophe JAILLET
  Cc: Thinh Nguyen, Greg Kroah-Hartman, Ze Huang, linux-kernel,
	kernel-janitors, linux-usb

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@wanadoo.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
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] usb: dwc3: Don't call clk_bulk_disable_unprepare() twice
  2025-09-29 23:36 ` Thinh Nguyen
@ 2025-09-29 23:46   ` Thinh Nguyen
  0 siblings, 0 replies; 3+ messages in thread
From: Thinh Nguyen @ 2025-09-29 23:46 UTC (permalink / raw)
  To: Christophe JAILLET
  Cc: Thinh Nguyen, Greg Kroah-Hartman, Ze Huang, linux-kernel,
	kernel-janitors, linux-usb

On Mon, Sep 29, 2025, Thinh Nguyen wrote:
> 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.
> 

gah.. I wrote this too quickly without checking...

It does unwind on remove. This is fine.

Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>

BR,
Thinh

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-09-30  0:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-29 18:28 [PATCH] usb: dwc3: Don't call clk_bulk_disable_unprepare() twice Christophe JAILLET
2025-09-29 23:36 ` Thinh Nguyen
2025-09-29 23:46   ` Thinh Nguyen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®