diff mbox series

usb: dwc3: omap: Use devm_regulator_get_optional()

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

Commit Message

Rob Herring Dec. 31, 2024, 4:44 p.m. UTC
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(-)

Comments

Mark Brown Jan. 6, 2025, 12:49 p.m. UTC | #1
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...
Rob Herring Jan. 6, 2025, 9:37 p.m. UTC | #2
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 mbox series

Patch

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;