]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 14 Aug 2024 14:45:12 +0000 (17:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:07:43 +0000 (15:07 +0200)
[ Upstream commit 7781f1d120fec8624fc654eda900fc8748262082 ]

0 is incorrect error code when failed to parse and map IRQ.
Replace OF specific old API for IRQ retrieval with a generic
one to fix this issue.

Fixes: 0f245463b01e ("spi: ppc4xx: handle irq_of_parse_and_map() errors")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20240814144525.2648450-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-ppc4xx.c

index bfcfafda3eb1cba4bd4c3ff4139db905fa460ed4..6413bcd28913a126f596734115ec17570408a74c 100644 (file)
@@ -26,7 +26,6 @@
 #include <linux/errno.h>
 #include <linux/wait.h>
 #include <linux/of_address.h>
-#include <linux/of_irq.h>
 #include <linux/of_platform.h>
 #include <linux/interrupt.h>
 #include <linux/delay.h>
@@ -410,9 +409,10 @@ static int spi_ppc4xx_of_probe(struct platform_device *op)
        }
 
        /* Request IRQ */
-       hw->irqnum = irq_of_parse_and_map(np, 0);
-       if (hw->irqnum <= 0)
+       ret = platform_get_irq(op, 0);
+       if (ret < 0)
                goto free_host;
+       hw->irqnum = ret;
 
        ret = request_irq(hw->irqnum, spi_ppc4xx_int,
                          0, "spi_ppc4xx_of", (void *)hw);