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/input/misc/88pm80x_onkey.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/input/misc/88pm80x_onkey.c b/drivers/input/misc/88pm80x_onkey.c
index 7f26e7b..cc352f9 100644
--- a/drivers/input/misc/88pm80x_onkey.c
+++ b/drivers/input/misc/88pm80x_onkey.c
@@ -67,7 +67,7 @@ static int __devinit pm80x_onkey_probe(struct platform_device *pdev)
struct pm80x_chip *chip = dev_get_drvdata(pdev->dev.parent);
struct pm80x_onkey_info *info;
- int err;
+ int irq, err;
info = kzalloc(sizeof(struct pm80x_onkey_info), GFP_KERNEL);
if (!info)
@@ -75,13 +75,14 @@ static int __devinit pm80x_onkey_probe(struct platform_device *pdev)
info->pm80x = chip;
- 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");
err = -EINVAL;
goto out;
}
+ info->irq = irq + chip->irq_base;
info->map = info->pm80x->regmap;
if (!info->map) {
dev_err(&pdev->dev, "no regmap!\n");