From: Jisheng Zhang Date: Sun, 29 Jun 2025 09:46:55 +0000 (+0800) Subject: usb: dwc2: disable platform lowlevel hw resources during shutdown X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7481a97c5f49f10c7490bb990d0e863f23b9bb71;p=users%2Fjedix%2Flinux-maple.git usb: dwc2: disable platform lowlevel hw resources during shutdown On some SoC platforms, in shutdown stage, most components' power is cut off, but there's still power supply to the so called always-on domain, so if the dwc2's regulator is from the always-on domain, we need to explicitly disable it to save power. Disable platform lowlevel hw resources such as phy, clock and regulators etc. in device shutdown hook to reduce non-necessary power consumption when the platform enters shutdown stage. Signed-off-by: Jisheng Zhang Acked-by: Minas Harutyunyan Link: https://lore.kernel.org/r/20250629094655.747-1-jszhang@kernel.org Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c index 12b4dc07d08a4..3f83ecc9fc236 100644 --- a/drivers/usb/dwc2/platform.c +++ b/drivers/usb/dwc2/platform.c @@ -371,6 +371,9 @@ static void dwc2_driver_shutdown(struct platform_device *dev) dwc2_disable_global_interrupts(hsotg); synchronize_irq(hsotg->irq); + + if (hsotg->ll_hw_enabled) + dwc2_lowlevel_hw_disable(hsotg); } /**