Using platform_get_irq_byname() to retrieve the IRQ number
returns the VIRQ number rather than the local IRQ number for
the device. Passing that value then into regmap_irq_get_virq()
causes a failure because the function is expecting the local
IRQ number (e.g. 0, 1, 2, 3, etc). This patch removes use of
regmap_irq_get_virq() to prevent this failure from happening

Signed-off-by: Adam Thomson <adam.thomson.opensou...@diasemi.com>
---
 drivers/rtc/rtc-da9055.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/rtc/rtc-da9055.c b/drivers/rtc/rtc-da9055.c
index 48cb2ac..a825491 100644
--- a/drivers/rtc/rtc-da9055.c
+++ b/drivers/rtc/rtc-da9055.c
@@ -302,7 +302,9 @@ static int da9055_rtc_probe(struct platform_device *pdev)
        }

        alm_irq = platform_get_irq_byname(pdev, "ALM");
-       alm_irq = regmap_irq_get_virq(rtc->da9055->irq_data, alm_irq);
+       if (alm_irq < 0)
+               return alm_irq;
+
        ret = devm_request_threaded_irq(&pdev->dev, alm_irq, NULL,
                                        da9055_rtc_alm_irq,
                                        IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
--
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to