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

From: H. Nikolaus Schaller

Date: Sat Oct 24 2026 - 13:36:24 EST


Hi,

> Am 24.10.2026 um 07:17 schrieb Olivier Louvignes <olivier@xxxxxxxxx>:
>
> 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@xxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxx>