On Tue, Dec 31, 2024 at 10:45 AM Rob Herring (Arm) <robh@xxxxxxxxxx> wrote: > > The 'vbus-supply' regulator is optional, so use > devm_regulator_get_optional() instead of checking for property presence > first. > > While here, rework the error handling to use dev_err_probe() which > handles deferred probe correctly without an error message. > > Signed-off-by: Rob Herring (Arm) <robh@xxxxxxxxxx> > --- > drivers/usb/dwc3/dwc3-omap.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c > index b261c46124c6..9b1d10ac33c1 100644 > --- a/drivers/usb/dwc3/dwc3-omap.c > +++ b/drivers/usb/dwc3/dwc3-omap.c > @@ -457,7 +457,7 @@ static int dwc3_omap_probe(struct platform_device *pdev) > > struct dwc3_omap *omap; > struct device *dev = &pdev->dev; > - struct regulator *vbus_reg = NULL; > + struct regulator *vbus_reg; > > int ret; > int irq; > @@ -483,13 +483,9 @@ static int dwc3_omap_probe(struct platform_device *pdev) > if (IS_ERR(base)) > return PTR_ERR(base); > > - if (of_property_read_bool(node, "vbus-supply")) { > - vbus_reg = devm_regulator_get(dev, "vbus"); > - if (IS_ERR(vbus_reg)) { > - dev_err(dev, "vbus init failed\n"); > - return PTR_ERR(vbus_reg); > - } > - } > + vbus_reg = devm_regulator_get_optional(dev, "vbus"); > + if (IS_ERR(vbus_reg)) > + return dev_err_probe(dev, PTR_ERR(vbus_reg), "vbus init failed\n"); This is wrong because devm_regulator_get_optional() returns -ENODEV rather than NULL like all the other _get_optional() functions... Rob