From: Qing Xu <qingx@xxxxxxxxxxx>
irq base is stored in 88pm80x's drv data, we need to add irq
base to get the correct irq num
Signed-off-by: Qiao Zhou <zhouqiao@xxxxxxxxxxx>
Signed-off-by: Qing Xu <qingx@xxxxxxxxxxx>
---
drivers/rtc/rtc-88pm80x.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/rtc/rtc-88pm80x.c b/drivers/rtc/rtc-88pm80x.c
index 6367984..7c3a264 100644
--- a/drivers/rtc/rtc-88pm80x.c
+++ b/drivers/rtc/rtc-88pm80x.c
@@ -256,7 +256,7 @@ static int __devinit pm80x_rtc_probe(struct platform_device *pdev)
struct pm80x_rtc_info *info;
struct rtc_time tm;
unsigned long ticks = 0;
- int ret;
+ int irq, ret;
pdata = pdev->dev.platform_data;
if (pdata == NULL)
@@ -266,12 +266,13 @@ static int __devinit pm80x_rtc_probe(struct platform_device *pdev)
devm_kzalloc(&pdev->dev, sizeof(struct pm80x_rtc_info), GFP_KERNEL);
if (!info)
return -ENOMEM;
- info->irq = platform_get_irq(pdev, 0);
- if (info->irq < 0) {
+ irq = platform_get_irq(pdev, 0);
+ if (irq < 0) {
dev_err(&pdev->dev, "No IRQ resource!\n");
ret = -EINVAL;
goto out;
}
+ info->irq = irq + chip->irq_base;
info->chip = chip;
info->map = chip->regmap;