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

Saravana Kannan saravanak at google.com
Tue Jul 5 11:53:49 PDT 2022


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?

-Saravana

>
>         if (fifo_mode == 0) {
>                 udc->num_ep = udc_config->num_ep;
> --
> 2.30.2
>



More information about the linux-arm-kernel mailing list