diff mbox series

spi: stm32: return the get_irq error

Message ID 1556109524-21874-1-git-send-email-fabien.dessenne@st.com (mailing list archive)
State Mainlined, archived
Commit 8d1467a68426c61807c97163459b481ecb714523
Headers show
Series spi: stm32: return the get_irq error | expand

Commit Message

Fabien DESSENNE April 24, 2019, 12:38 p.m. UTC
During probe, return the "get_irq" error value instead of -ENOENT. This
allows the driver to be defer probed if needed.

Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
---
 drivers/spi/spi-stm32.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Amelie Delaunay April 24, 2019, 2:52 p.m. UTC | #1
On 4/24/19 2:38 PM, Fabien Dessenne wrote:
> During probe, return the "get_irq" error value instead of -ENOENT. This
> allows the driver to be defer probed if needed.
> 
> Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>

Acked-by: Amelie Delaunay <amelie.delaunay@st.com>

> ---
>   drivers/spi/spi-stm32.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c
> index 4186ed2..b222ce8 100644
> --- a/drivers/spi/spi-stm32.c
> +++ b/drivers/spi/spi-stm32.c
> @@ -1839,8 +1839,9 @@ static int stm32_spi_probe(struct platform_device *pdev)
>   
>   	spi->irq = platform_get_irq(pdev, 0);
>   	if (spi->irq <= 0) {
> -		dev_err(&pdev->dev, "no irq: %d\n", spi->irq);
> -		ret = -ENOENT;
> +		ret = spi->irq;
> +		if (ret != -EPROBE_DEFER)
> +			dev_err(&pdev->dev, "failed to get irq: %d\n", ret);
>   		goto err_master_put;
>   	}
>   	ret = devm_request_threaded_irq(&pdev->dev, spi->irq,
>
diff mbox series

Patch

diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c
index 4186ed2..b222ce8 100644
--- a/drivers/spi/spi-stm32.c
+++ b/drivers/spi/spi-stm32.c
@@ -1839,8 +1839,9 @@  static int stm32_spi_probe(struct platform_device *pdev)
 
 	spi->irq = platform_get_irq(pdev, 0);
 	if (spi->irq <= 0) {
-		dev_err(&pdev->dev, "no irq: %d\n", spi->irq);
-		ret = -ENOENT;
+		ret = spi->irq;
+		if (ret != -EPROBE_DEFER)
+			dev_err(&pdev->dev, "failed to get irq: %d\n", ret);
 		goto err_master_put;
 	}
 	ret = devm_request_threaded_irq(&pdev->dev, spi->irq,