aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2024-12-08 18:03:17 +0200
committerMark Brown <broonie@kernel.org>2024-12-09 13:14:20 +0000
commit0020c9d2d572b49c55b2e1fabe6f6687e11a3ced (patch)
tree834cb2df3ad59a1e14c9407dd10d348d819ce1c5
parentspi: Unify firmware node type checks (diff)
downloadwireguard-linux-0020c9d2d572b49c55b2e1fabe6f6687e11a3ced.tar.xz
wireguard-linux-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 <andriy.shevchenko@linux.intel.com> Link: https://patch.msgid.link/20241208195635.1271656-3-andriy.shevchenko@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi.c17
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)