Message ID | 20241231164456.262581-1-robh@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | usb: dwc3: omap: Use devm_regulator_get_optional() | expand |
On Tue, Dec 31, 2024 at 10:44:56AM -0600, Rob Herring (Arm) wrote: > The 'vbus-supply' regulator is optional, so use > devm_regulator_get_optional() instead of checking for property presence > first. Is it actually optional? The name suggests it's likely to be required...
On Mon, Jan 6, 2025 at 6:49 AM Mark Brown <broonie@kernel.org> wrote: > > On Tue, Dec 31, 2024 at 10:44:56AM -0600, Rob Herring (Arm) wrote: > > The 'vbus-supply' regulator is optional, so use > > devm_regulator_get_optional() instead of checking for property presence > > first. > > Is it actually optional? The name suggests it's likely to be > required... That's what the binding says. From a quick scan, I only see this used for OMAP5. The preference is for this to be in the connector node as that is where Vbus is hooked up to typically. Rob
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"); omap->dev = dev; omap->irq = irq;
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@kernel.org> --- drivers/usb/dwc3/dwc3-omap.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)