spi: Provide defer reason if getting irq during probe fails
authorUwe Kleine-König <ukleinek@kernel.org>
Fri, 4 Oct 2024 09:42:32 +0000 (11:42 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 4 Oct 2024 12:04:05 +0000 (13:04 +0100)
Using dev_err_probe() in spi_probe() improves the kernel output from

spi spi0.0: deferred probe pending: (reason unknown)

to

spi spi0.0: deferred probe pending: ad7124: Failed to get irq...

for my current quest to make a certain spi device work.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://patch.msgid.link/20241004094234.268301-2-u.kleine-koenig@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi.c

index 073ffae..7c5e76b 100644 (file)
@@ -419,7 +419,7 @@ static int spi_probe(struct device *dev)
        if (dev->of_node) {
                spi->irq = of_irq_get(dev->of_node, 0);
                if (spi->irq == -EPROBE_DEFER)
-                       return -EPROBE_DEFER;
+                       return dev_err_probe(dev, -EPROBE_DEFER, "Failed to get irq\n");
                if (spi->irq < 0)
                        spi->irq = 0;
        }