[PATCH 1/2] usb: gadget: udc: atmel: check rc of devm_gpiod_get_optional()

Michael Walle michael at walle.cc
Tue Jul 5 13:56:39 PDT 2022


Am 2022-07-05 20:53, schrieb Saravana Kannan:
> On Tue, Jul 5, 2022 at 6:19 AM Michael Walle <michael at walle.cc> wrote:
>> 
>> devm_gpiod_get_optional() might still return an error code, esp.
>> EPROBE_DEFER. Return any errors.
>> 
>> Signed-off-by: Michael Walle <michael at walle.cc>
>> ---
>>  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



More information about the linux-arm-kernel mailing list