[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210604100059.sr57dlwkqbbs6e7g@earth.universe>
Date: Fri, 4 Jun 2021 12:00:59 +0200
From: Sebastian Reichel <sebastian.reichel@...labora.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>
Cc: Chanwoo Choi <cw00.choi@...sung.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Lee Jones <lee.jones@...aro.org>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Alessandro Zummo <a.zummo@...ertech.it>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org,
devicetree@...r.kernel.org, linux-pm@...r.kernel.org,
linux-samsung-soc@...r.kernel.org, linux-rtc@...r.kernel.org,
Krzysztof Kozlowski <krzk@...nel.org>
Subject: Re: [PATCH v2 6/7] power: supply: max17042: Do not enforce
(incorrect) interrupt trigger type
Hi,
On Wed, May 26, 2021 at 01:20:35PM -0400, Krzysztof Kozlowski wrote:
> From: Krzysztof Kozlowski <krzk@...nel.org>
>
> 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@...nel.org>
>
> ---
>
> 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
>
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists