mmc: mmc_spi: Fix return value evaluation of irq_of_parse_and_map()
authorRoland Stigge <stigge@antcom.de>
Wed, 30 Jan 2013 17:05:08 +0000 (18:05 +0100)
committerChris Ball <cjb@laptop.org>
Sun, 24 Feb 2013 19:37:10 +0000 (14:37 -0500)
When irq_of_parse_and_map() returns an error, it does as zero. But in
mmc_spi_get_pdata(), the error return case is compared against NO_IRQ.
This might work where NO_IRQ is zero (defaults to zero when undefined,
as on MIPS) but not where NO_IRQ is different, e.g. on ARM where it's -1.

This patch changes to comparison with 0 which is the error return value
of irq_of_parse_and_map().

Tested on ARM that mmc_spi is working now.

Signed-off-by: Roland Stigge <stigge@antcom.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/of_mmc_spi.c

index 1534b582c41990d0e824f705db98b2c97bfe3c83..d720b5e05b9cb5510125787bacf2025af5f839a5 100644 (file)
@@ -146,7 +146,7 @@ struct mmc_spi_platform_data *mmc_spi_get_pdata(struct spi_device *spi)
                oms->pdata.get_ro = of_mmc_spi_get_ro;
 
        oms->detect_irq = irq_of_parse_and_map(np, 0);
-       if (oms->detect_irq != NO_IRQ) {
+       if (oms->detect_irq != 0) {
                oms->pdata.init = of_mmc_spi_init;
                oms->pdata.exit = of_mmc_spi_exit;
        } else {