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.desse...@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,
-- 
2.7.4

Reply via email to