summaryrefslogtreecommitdiff
path: root/drivers/extcon/extcon-max77843.c
diff options
context:
space:
mode:
authorJaewon Kim <jaewon02.kim@samsung.com>2015-06-05 13:32:27 +0900
committerChanwoo Choi <cw00.choi@samsung.com>2015-08-10 11:48:54 +0900
commit135d9f7d135a11ff4a5279325b06c5e8c82952b5 (patch)
tree871b66048ec160f6f63e5680d2c0f72cff71ffff /drivers/extcon/extcon-max77843.c
parentf7644cbfcdf03528f0f450f3940c4985b2291f49 (diff)
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 <jaewon02.kim@samsung.com> Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Diffstat (limited to 'drivers/extcon/extcon-max77843.c')
-rw-r--r--drivers/extcon/extcon-max77843.c9
1 files changed, 9 insertions, 0 deletions
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;