Re: [PATCH v2 6/7] power: supply: max17042: Do not enforce (incorrect) interrupt trigger type

From: Sebastian Reichel
Date: Fri Jun 04 2021 - 06:01:06 EST


Hi,

On Wed, May 26, 2021 at 01:20:35PM -0400, Krzysztof Kozlowski wrote:
> From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>
> Interrupt line can be configured on different hardware in different way,
> even inverted. Therefore driver should not enforce specific trigger
> type - edge falling - but instead rely on Devicetree to configure it.
>
> The Maxim 17047/77693 datasheets describe the interrupt line as active
> low with a requirement of acknowledge from the CPU therefore the edge
> falling is not correct.
>
> The interrupt line is shared between PMIC and RTC driver, so using level
> sensitive interrupt is here especially important to avoid races. With
> an edge configuration in case if first PMIC signals interrupt followed
> shortly after by the RTC, the interrupt might not be yet cleared/acked
> thus the second one would not be noticed.
>
> Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>
> ---
>
> Changes since v1:
> 1. None
> ---

Thanks, queued.

-- Sebastian

> drivers/power/supply/max17042_battery.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
> index 1d7326cd8fc6..ce2041b30a06 100644
> --- a/drivers/power/supply/max17042_battery.c
> +++ b/drivers/power/supply/max17042_battery.c
> @@ -1104,7 +1104,7 @@ static int max17042_probe(struct i2c_client *client,
> }
>
> if (client->irq) {
> - unsigned int flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
> + unsigned int flags = IRQF_ONESHOT;
>
> /*
> * On ACPI systems the IRQ may be handled by ACPI-event code,
> --
> 2.27.0
>

Attachment: signature.asc
Description: PGP signature