From 184b69c5d3a7ec778b370ba00c05174d365bcc18 Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Tue, 15 Jun 2021 01:24:20 +0300 Subject: [PATCH] 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 Signed-off-by: Lee Jones --- drivers/mfd/max8907.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/mfd/max8907.c b/drivers/mfd/max8907.c index 40e70ab889569..41f566e6a0965 100644 --- a/drivers/mfd/max8907.c +++ b/drivers/mfd/max8907.c @@ -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) { -- 2.30.2