extcon: max77843: Clear IRQ bits state before request IRQ
authorJaewon Kim <jaewon02.kim@samsung.com>
Fri, 5 Jun 2015 04:32:27 +0000 (13:32 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 10 Aug 2015 02:48:54 +0000 (11:48 +0900)
IRQ signal before driver probe is needless because driver sends
current state after platform booting done.
So, this patch clears MUIC IRQ bits before request IRQ.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/extcon/extcon-max77843.c

index fac2f1417a79ca47752839b79ae7a07522cb1ebb..cc5e7bca38c8579df8ad07233d8b4a8b09164a19 100644 (file)
@@ -781,6 +781,15 @@ static int max77843_muic_probe(struct platform_device *pdev)
        /* Support virtual irq domain for max77843 MUIC device */
        INIT_WORK(&info->irq_work, max77843_muic_irq_work);
 
+       /* Clear IRQ bits before request IRQs */
+       ret = regmap_bulk_read(max77843->regmap_muic,
+                       MAX77843_MUIC_REG_INT1, info->status,
+                       MAX77843_MUIC_IRQ_NUM);
+       if (ret) {
+               dev_err(&pdev->dev, "Failed to Clear IRQ bits\n");
+               goto err_muic_irq;
+       }
+
        for (i = 0; i < ARRAY_SIZE(max77843_muic_irqs); i++) {
                struct max77843_muic_irq *muic_irq = &max77843_muic_irqs[i];
                unsigned int virq = 0;