[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6897566c-7a8b-e071-70df-8f730e93f087@microchip.com>
Date: Mon, 15 Oct 2018 10:58:34 +0200
From: Nicolas Ferre <nicolas.ferre@...rochip.com>
To: Tudor Ambarus - M18064 <Tudor.Ambarus@...rochip.com>,
"stern@...land.harvard.edu" <stern@...land.harvard.edu>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"alexandre.belloni@...tlin.com" <alexandre.belloni@...tlin.com>,
"Cristian Birsan - M91496" <Cristian.Birsan@...rochip.com>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] usb: host: ohci-at91: fix request of irq for optional
gpio
On 15/10/2018 at 10:34, Tudor Ambarus - M18064 wrote:
> atmel,oc-gpio is optional. Request it's 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 probably 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.ambarus@...rochip.com>
Yes, indeed:
Acked-by: Nicolas Ferre <nicolas.ferre@...rochip.com>
Thanks, best regards,
Nicolas
> ---
> 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);
>
--
Nicolas Ferre
Powered by blists - more mailing lists