drivers/rtc/rtc-da9055.c: remove use of regmap_irq_get_virq()
authorAdam Thomson <Adam.Thomson.Opensource@diasemi.com>
Thu, 3 Apr 2014 21:50:18 +0000 (14:50 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Apr 2014 23:21:24 +0000 (16:21 -0700)
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.Opensource@diasemi.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-da9055.c

index 48cb2ac3bd3ea87e85defd639fb027755dbf3c1c..a825491331c86464ae1f09a2820e4c8ee6735b5a 100644 (file)
@@ -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,