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>