From: Jaewon Kim Date: Fri, 5 Jun 2015 04:32:27 +0000 (+0900) Subject: extcon: max77843: Clear IRQ bits state before request IRQ X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=135d9f7d135a11ff4a5279325b06c5e8c82952b5;p=linux-beck.git extcon: max77843: Clear IRQ bits state before request IRQ 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 Acked-by: MyungJoo Ham Signed-off-by: Chanwoo Choi --- diff --git a/drivers/extcon/extcon-max77843.c b/drivers/extcon/extcon-max77843.c index fac2f1417a79..cc5e7bca38c8 100644 --- a/drivers/extcon/extcon-max77843.c +++ b/drivers/extcon/extcon-max77843.c @@ -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;