Am 2022-07-05 20:53, schrieb Saravana Kannan:
On Tue, Jul 5, 2022 at 6:19 AM Michael Walle <michael@xxxxxxxx> wrote:
devm_gpiod_get_optional() might still return an error code, esp.
EPROBE_DEFER. Return any errors.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
---
drivers/usb/gadget/udc/atmel_usba_udc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c
b/drivers/usb/gadget/udc/atmel_usba_udc.c
index ae2bfbac603e..48355e0cee76 100644
--- a/drivers/usb/gadget/udc/atmel_usba_udc.c
+++ b/drivers/usb/gadget/udc/atmel_usba_udc.c
@@ -2165,6 +2165,8 @@ static struct usba_ep * atmel_udc_of_init(struct
platform_device *pdev,
udc->vbus_pin = devm_gpiod_get_optional(&pdev->dev,
"atmel,vbus",
GPIOD_IN);
+ if (IS_ERR(udc->vbus_pin))
+ return ERR_CAST(udc->vbus_pin);
I'm confused. Is it really an optional resource if you treat a failure
to get it
as a reason to fail a probe?
If the gpio isn't found NULL is returned.
-michael