mfd: max8907: Remove IRQF_NO_AUTOEN flag

IRQF_NO_AUTOEN flag doesn't go well with IRQF_SHARED flag - the
check in request_threaded_irq fails and exits with EINVAL.

So we ignore the flag and enable it on the first IRQ request. No
interrupt should arrive from the chip as all interrupts are masked
by default.

Signed-off-by: Sergey Larin <cerg2010cerg2010@mail.ru>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
Sergey Larin 2021-06-15 01:24:20 +03:00 committed by Lee Jones
parent afb349c096
commit 184b69c5d3
1 changed files with 1 additions and 3 deletions

View File

@ -229,7 +229,7 @@ static int max8907_i2c_probe(struct i2c_client *i2c,
}
ret = regmap_add_irq_chip(max8907->regmap_gen, max8907->i2c_gen->irq,
IRQF_ONESHOT | IRQF_SHARED | IRQF_NO_AUTOEN,
IRQF_ONESHOT | IRQF_SHARED,
-1, &max8907_chg_irq_chip,
&max8907->irqc_chg);
if (ret != 0) {
@ -253,8 +253,6 @@ static int max8907_i2c_probe(struct i2c_client *i2c,
goto err_irqc_rtc;
}
enable_irq(max8907->i2c_gen->irq);
ret = mfd_add_devices(max8907->dev, -1, max8907_cells,
ARRAY_SIZE(max8907_cells), NULL, 0, NULL);
if (ret != 0) {