[PATCH] phy: ingenic: Don't disable the supply in exit

H. Nikolaus Schaller hns at goldelico.com
Sat Oct 24 10:35:21 PDT 2026


Hi,

> Am 24.10.2026 um 07:17 schrieb Olivier Louvignes <olivier at mgcrea.io>:
> 
> The supply is enabled in power_on() and disabled in power_off(); exit()
> disabling it again unbalances it. dwc2 powers its PHY off before exiting
> it, which warns at every probe on an Ingenic X1600:
> 
>  WARNING: ... _regulator_disable
>  ...
>  ingenic_usb_phy_exit
>  phy_exit
>  dwc2_lowlevel_hw_disable
>  dwc2_driver_probe

Yes, I can confirm this problem and the solution:

https://github.com/goldelico/letux-kernel/commit/e757fd47d006b

> 
> Fixes: 31de313dfdcf ("PHY: Ingenic: Add USB PHY driver using generic PHY framework.")
> Signed-off-by: Olivier Louvignes <olivier at mgcrea.io>
> ---
> Tested on v7.3 on a HiBy R1 (X1600), whose PHY supply is a dummy
> regulator: without this the warning above came at every probe, with it
> there is none and USB still enumerates at high speed. Build-tested with
> W=1 on phy next.
> 
> drivers/phy/ingenic/phy-ingenic-usb.c | 1 -
> 1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/phy/ingenic/phy-ingenic-usb.c b/drivers/phy/ingenic/phy-ingenic-usb.c
> index 7e62d46850fd..d8e5ef302b74 100644
> --- a/drivers/phy/ingenic/phy-ingenic-usb.c
> +++ b/drivers/phy/ingenic/phy-ingenic-usb.c
> @@ -124,7 +124,6 @@ static int ingenic_usb_phy_exit(struct phy *phy)
> struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
> 
> clk_disable_unprepare(priv->clk);
> - regulator_disable(priv->vcc_supply);
> 
> return 0;
> }
> 
> base-commit: 8f56fdf3d8cb9f1dbdc93bf9ac816698aa6f70b7
> -- 
> 2.39.5
> 
> 

Reviewed-By: H. Nikolaus Schaller <hns at goldelico.com>


More information about the linux-phy mailing list