Re: [PATCH 4.19 134/148] usb: phy: generic: Get the vbus supply

From: Sean Anderson
Date: Tue Mar 26 2024 - 17:26:02 EST


On 3/24/24 19:49, Sasha Levin wrote:
> From: Sean Anderson <sean.anderson@xxxxxxxx>
>
> [ Upstream commit 03e607cbb2931374db1825f371e9c7f28526d3f4 ]
>
> While support for working with a vbus was added, the regulator was never
> actually gotten (despite what was documented). Fix this by actually
> getting the supply from the device tree.
>
> Fixes: 7acc9973e3c4 ("usb: phy: generic: add vbus support")
> Cc: stable <stable@xxxxxxxxxx>
> Signed-off-by: Sean Anderson <sean.anderson@xxxxxxxx>
> Link: https://cas5-0-urlprotect.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2flore.kernel.org%2fr%2f20220425171412.1188485%2d3%2dsean.anderson%40seco.com&umid=d6ce00f6-eb02-4c45-a2bb-d42fb98e3d79&auth=d807158c60b7d2502abde8a2fc01f40662980862-664a4cc6c56716c0ff040724728033a1bce87ec7
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> ---
> drivers/usb/phy/phy-generic.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/usb/phy/phy-generic.c b/drivers/usb/phy/phy-generic.c
> index a53b89be53248..8a04b157f19f3 100644
> --- a/drivers/usb/phy/phy-generic.c
> +++ b/drivers/usb/phy/phy-generic.c
> @@ -283,6 +283,13 @@ int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop,
> return -EPROBE_DEFER;
> }
>
> + nop->vbus_draw = devm_regulator_get_exclusive(dev, "vbus");
> + if (PTR_ERR(nop->vbus_draw) == -ENODEV)
> + nop->vbus_draw = NULL;
> + if (IS_ERR(nop->vbus_draw))
> + return dev_err_probe(dev, PTR_ERR(nop->vbus_draw),
> + "could not get vbus regulator\n");
> +
> nop->dev = dev;
> nop->phy.dev = nop->dev;
> nop->phy.label = "nop-xceiv";

TBH I would rather not backport this if possible. This will increase the
chance of someone using this behavior which is going to change in
562898808cb1 ("usb: phy: generic: Implement otg->set_vbus").

--Sean

[Embedded World 2024, SECO SpA]<https://www.messe-ticket.de/Nuernberg/embeddedworld2024/Register/ew24517689>