diff options
| author | Andy Shevchenko <[email protected]> | 2024-12-08 16:03:17 +0000 |
|---|---|---|
| committer | Mark Brown <[email protected]> | 2024-12-09 13:14:20 +0000 |
| commit | 0020c9d2d572b49c55b2e1fabe6f6687e11a3ced (patch) | |
| tree | 834cb2df3ad59a1e14c9407dd10d348d819ce1c5 /drivers/spi/spi.c | |
| parent | spi: Unify firmware node type checks (diff) | |
| download | kernel-0020c9d2d572b49c55b2e1fabe6f6687e11a3ced.tar.gz kernel-0020c9d2d572b49c55b2e1fabe6f6687e11a3ced.zip | |
spi: Deduplicate deferred probe checks in spi_probe()
Deduplicate deferred probe checks in spi_probe() and enable
the error message for ACPI case as well.
Signed-off-by: Andy Shevchenko <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Diffstat (limited to 'drivers/spi/spi.c')
| -rw-r--r-- | drivers/spi/spi.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 88f785b9e6ec..e0f79773be70 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -417,19 +417,14 @@ static int spi_probe(struct device *dev) if (ret) return ret; - if (is_of_node(fwnode)) { + if (is_of_node(fwnode)) spi->irq = of_irq_get(dev->of_node, 0); - if (spi->irq == -EPROBE_DEFER) - return dev_err_probe(dev, -EPROBE_DEFER, "Failed to get irq\n"); - if (spi->irq < 0) - spi->irq = 0; - } else if (is_acpi_device_node(fwnode) && spi->irq < 0) { + else if (is_acpi_device_node(fwnode) && spi->irq < 0) spi->irq = acpi_dev_gpio_irq_get(to_acpi_device_node(fwnode), 0); - if (spi->irq == -EPROBE_DEFER) - return -EPROBE_DEFER; - if (spi->irq < 0) - spi->irq = 0; - } + if (spi->irq == -EPROBE_DEFER) + return dev_err_probe(dev, spi->irq, "Failed to get irq\n"); + if (spi->irq < 0) + spi->irq = 0; ret = dev_pm_domain_attach(dev, true); if (ret) |
