On Mon, 15 Oct 2018 tudor.amba...@microchip.com wrote:

> atmel,oc-gpio is optional. Request its irq only when atmel,oc is set
> in device tree.
> 
> devm_gpiod_get_index_optional returns NULL if -ENOENT. Check its
> return value for NULL before error, because it is more probable that
> atmel,oc is not set.
> 
> This fixes the following errors on boards where atmel,oc is not set in
> device tree:
> [    0.960000] at91_ohci 500000.ohci: failed to request gpio "overcurrent" IRQ
> [    0.960000] at91_ohci 500000.ohci: failed to request gpio "overcurrent" IRQ
> [    0.970000] at91_ohci 500000.ohci: failed to request gpio "overcurrent" IRQ
> 
> Signed-off-by: Tudor Ambarus <tudor.amba...@microchip.com>
> ---
> v2: fix typos in commit message s/it's/its, s/probably/probable
> 
> Based on https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git,
> usb-next branch.
> 
>  drivers/usb/host/ohci-at91.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index e98673954020..ec6739ef3129 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -551,6 +551,8 @@ static int ohci_hcd_at91_drv_probe(struct platform_device 
> *pdev)
>               pdata->overcurrent_pin[i] =
>                       devm_gpiod_get_index_optional(&pdev->dev, "atmel,oc",
>                                                     i, GPIOD_IN);
> +             if (!pdata->overcurrent_pin[i])
> +                     continue;
>               if (IS_ERR(pdata->overcurrent_pin[i])) {
>                       err = PTR_ERR(pdata->overcurrent_pin[i]);
>                       dev_err(&pdev->dev, "unable to claim gpio 
> \"overcurrent\": %d\n", err);

Acked-by: Alan Stern <st...@rowland.harvard.edu>

Reply via email to