* Re: [PATCH] phy: renesas: rcar-gen3-usb2: Ignore missing VBUS regulator
2026-07-02 12:58 [PATCH] phy: renesas: rcar-gen3-usb2: Ignore missing VBUS regulator Prabhakar
@ 2026-07-02 13:04 ` Lad, Prabhakar
2026-07-02 15:45 ` Tommaso Merciai
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Lad, Prabhakar @ 2026-07-02 13:04 UTC (permalink / raw)
To: Yoshihiro Shimoda, Vinod Koul, Neil Armstrong, Geert Uytterhoeven,
Magnus Damm, Tommaso Merciai
Cc: linux-renesas-soc, linux-phy, linux-kernel, Prabhakar, Biju Das,
Fabrizio Castro, Lad Prabhakar
Hi All,
On Thu, Jul 2, 2026 at 1:59 PM Prabhakar <prabhakar.csengg@gmail.com> wrote:
>
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
>
> Commit b6d7dd157763 ("phy: renesas: rcar-gen3-usb2: Add regulator for
> OTG VBUS control") introduced support for controlling OTG VBUS through
> the regulator framework.
>
> As part of this change, the driver started requesting an exclusive "vbus"
> regulator for OTG-capable PHYs with no_adp_ctrl set. The lookup failure
> was propagated unconditionally, causing probe to fail on platforms where
> no VBUS regulator is described.
>
> On RZ/V2H and RZ/V2N, which do not use a VBUS regulator, this results
> in the following error:
>
> phy_rcar_gen3_usb2 15800200.usb-phy:
> dummy supplies not allowed for exclusive requests (id=vbus)
>
> This failure completely prevents the USB 2.0 interface from initializing.
>
> Fix this by allowing the probe to continue if an external VBUS regulator
> is missing. Only propagate the error if the internal vbus-regulator node
> is explicitly present, or if the lookup returns -EPROBE_DEFER. For all
> other missing regulator errors, gracefully assume no external VBUS
> regulator is available and return 0.
>
> Fixes: b6d7dd157763 ("phy: renesas: rcar-gen3-usb2: Add regulator for OTG VBUS control")
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> ---
> drivers/phy/renesas/phy-rcar-gen3-usb2.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
Note, this patch applies on top of patch [0].
[0] https://lore.kernel.org/all/20260616104459.410743-9-biju.das.jz@bp.renesas.com/
Cheers,
Prabhakar
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] phy: renesas: rcar-gen3-usb2: Ignore missing VBUS regulator
2026-07-02 12:58 [PATCH] phy: renesas: rcar-gen3-usb2: Ignore missing VBUS regulator Prabhakar
2026-07-02 13:04 ` Lad, Prabhakar
@ 2026-07-02 15:45 ` Tommaso Merciai
2026-08-10 6:22 ` Lad, Prabhakar
2026-08-11 17:03 ` Vinod Koul
3 siblings, 0 replies; 5+ messages in thread
From: Tommaso Merciai @ 2026-07-02 15:45 UTC (permalink / raw)
To: Prabhakar
Cc: Yoshihiro Shimoda, Vinod Koul, Neil Armstrong, Geert Uytterhoeven,
Magnus Damm, linux-renesas-soc, linux-phy, linux-kernel,
Prabhakar, Biju Das, Fabrizio Castro, Lad Prabhakar
Hi Prabhakar,
Thanks for your patch.
On Thu, Jul 02, 2026 at 01:58:55PM +0100, Prabhakar wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
>
> Commit b6d7dd157763 ("phy: renesas: rcar-gen3-usb2: Add regulator for
> OTG VBUS control") introduced support for controlling OTG VBUS through
> the regulator framework.
>
> As part of this change, the driver started requesting an exclusive "vbus"
> regulator for OTG-capable PHYs with no_adp_ctrl set. The lookup failure
> was propagated unconditionally, causing probe to fail on platforms where
> no VBUS regulator is described.
>
> On RZ/V2H and RZ/V2N, which do not use a VBUS regulator, this results
> in the following error:
>
> phy_rcar_gen3_usb2 15800200.usb-phy:
> dummy supplies not allowed for exclusive requests (id=vbus)
>
> This failure completely prevents the USB 2.0 interface from initializing.
>
> Fix this by allowing the probe to continue if an external VBUS regulator
> is missing. Only propagate the error if the internal vbus-regulator node
> is explicitly present, or if the lookup returns -EPROBE_DEFER. For all
> other missing regulator errors, gracefully assume no external VBUS
> regulator is available and return 0.
>
Patch LGTM, tested on RZ/G3E.
Tested-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Reviewed-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Thanks, Tommaso
> Fixes: b6d7dd157763 ("phy: renesas: rcar-gen3-usb2: Add regulator for OTG VBUS control")
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> ---
> drivers/phy/renesas/phy-rcar-gen3-usb2.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> index ef38c3b365d4..9ae9975d3255 100644
> --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> @@ -902,8 +902,17 @@ static int rcar_gen3_phy_usb2_vbus_regulator_get_exclusive_enable(struct rcar_ge
> int ret;
>
> channel->vbus = devm_regulator_get_exclusive(dev, "vbus");
> - if (IS_ERR(channel->vbus))
> - return PTR_ERR(channel->vbus);
> + if (IS_ERR(channel->vbus)) {
> + ret = PTR_ERR(channel->vbus);
> + /* If vbus-regulator node was present vbus regulator should be available */
> + if (channel->otg_internal_reg)
> + return ret;
> +
> + if (ret == -EPROBE_DEFER)
> + return ret;
> +
> + return 0;
> + }
>
> if (enable) {
> ret = regulator_enable(channel->vbus);
> --
> 2.54.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] phy: renesas: rcar-gen3-usb2: Ignore missing VBUS regulator
2026-07-02 12:58 [PATCH] phy: renesas: rcar-gen3-usb2: Ignore missing VBUS regulator Prabhakar
2026-07-02 13:04 ` Lad, Prabhakar
2026-07-02 15:45 ` Tommaso Merciai
@ 2026-08-10 6:22 ` Lad, Prabhakar
2026-08-11 17:03 ` Vinod Koul
3 siblings, 0 replies; 5+ messages in thread
From: Lad, Prabhakar @ 2026-08-10 6:22 UTC (permalink / raw)
To: Vinod Koul
Cc: Yoshihiro Shimoda, Magnus Damm, Geert Uytterhoeven,
Neil Armstrong, Tommaso Merciai, linux-renesas-soc, linux-phy,
linux-kernel, Prabhakar, Biju Das, Fabrizio Castro, Lad Prabhakar
On Thu, Jul 2, 2026 at 1:59 PM Prabhakar <prabhakar.csengg@gmail.com> wrote:
>
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
>
> Commit b6d7dd157763 ("phy: renesas: rcar-gen3-usb2: Add regulator for
> OTG VBUS control") introduced support for controlling OTG VBUS through
> the regulator framework.
>
> As part of this change, the driver started requesting an exclusive "vbus"
> regulator for OTG-capable PHYs with no_adp_ctrl set. The lookup failure
> was propagated unconditionally, causing probe to fail on platforms where
> no VBUS regulator is described.
>
> On RZ/V2H and RZ/V2N, which do not use a VBUS regulator, this results
> in the following error:
>
> phy_rcar_gen3_usb2 15800200.usb-phy:
> dummy supplies not allowed for exclusive requests (id=vbus)
>
> This failure completely prevents the USB 2.0 interface from initializing.
>
> Fix this by allowing the probe to continue if an external VBUS regulator
> is missing. Only propagate the error if the internal vbus-regulator node
> is explicitly present, or if the lookup returns -EPROBE_DEFER. For all
> other missing regulator errors, gracefully assume no external VBUS
> regulator is available and return 0.
>
> Fixes: b6d7dd157763 ("phy: renesas: rcar-gen3-usb2: Add regulator for OTG VBUS control")
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> ---
> drivers/phy/renesas/phy-rcar-gen3-usb2.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
Gentle ping.
Cheers,
Prabhakar
> diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> index ef38c3b365d4..9ae9975d3255 100644
> --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> @@ -902,8 +902,17 @@ static int rcar_gen3_phy_usb2_vbus_regulator_get_exclusive_enable(struct rcar_ge
> int ret;
>
> channel->vbus = devm_regulator_get_exclusive(dev, "vbus");
> - if (IS_ERR(channel->vbus))
> - return PTR_ERR(channel->vbus);
> + if (IS_ERR(channel->vbus)) {
> + ret = PTR_ERR(channel->vbus);
> + /* If vbus-regulator node was present vbus regulator should be available */
> + if (channel->otg_internal_reg)
> + return ret;
> +
> + if (ret == -EPROBE_DEFER)
> + return ret;
> +
> + return 0;
> + }
>
> if (enable) {
> ret = regulator_enable(channel->vbus);
> --
> 2.54.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] phy: renesas: rcar-gen3-usb2: Ignore missing VBUS regulator
2026-07-02 12:58 [PATCH] phy: renesas: rcar-gen3-usb2: Ignore missing VBUS regulator Prabhakar
` (2 preceding siblings ...)
2026-08-10 6:22 ` Lad, Prabhakar
@ 2026-08-11 17:03 ` Vinod Koul
3 siblings, 0 replies; 5+ messages in thread
From: Vinod Koul @ 2026-08-11 17:03 UTC (permalink / raw)
To: Yoshihiro Shimoda, Neil Armstrong, Geert Uytterhoeven,
Magnus Damm, Tommaso Merciai, Prabhakar
Cc: linux-renesas-soc, linux-phy, linux-kernel, Prabhakar, Biju Das,
Fabrizio Castro, Lad Prabhakar
On Thu, 02 Jul 2026 13:58:55 +0100, Prabhakar wrote:
> Commit b6d7dd157763 ("phy: renesas: rcar-gen3-usb2: Add regulator for
> OTG VBUS control") introduced support for controlling OTG VBUS through
> the regulator framework.
>
> As part of this change, the driver started requesting an exclusive "vbus"
> regulator for OTG-capable PHYs with no_adp_ctrl set. The lookup failure
> was propagated unconditionally, causing probe to fail on platforms where
> no VBUS regulator is described.
>
> [...]
Applied, thanks!
[1/1] phy: renesas: rcar-gen3-usb2: Ignore missing VBUS regulator
commit: 9ea8d49c6cc6e217f5f5818369f659dc25bf89bf
Best regards,
--
~Vinod
^ permalink raw reply [flat|nested] 5+ messages in thread