linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
To: Sebastian Reichel <sre@kernel.org>, linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Anton Vorontsov <anton.vorontsov@linaro.org>,
	Ramakrishna Pallala <ramakrishna.pallala@intel.com>,
	Dirk Brandewie <dirk.brandewie@gmail.com>,
	Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>,
	stable@vger.kernel.org
Subject: [PATCH 1/2] power: supply: max17042_battery: Clear status bits in interrupt handler
Date: Sun, 12 Sep 2021 22:54:01 +0200	[thread overview]
Message-ID: <20210912205402.160939-1-sebastian.krzyszkowiak@puri.sm> (raw)

The gauge requires us to clear the status bits manually for some alerts
to be properly dismissed. Previously the IRQ was configured to react only
on falling edge, which wasn't technically correct (the ALRT line is active
low), but it had a happy side-effect of preventing interrupt storms
on uncleared alerts from happening.

Fixes: 7fbf6b731bca ("power: supply: max17042: Do not enforce (incorrect) interrupt trigger type")
Cc: <stable@vger.kernel.org>
Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
 drivers/power/supply/max17042_battery.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
index 8dffae76b6a3..c53980c8432a 100644
--- a/drivers/power/supply/max17042_battery.c
+++ b/drivers/power/supply/max17042_battery.c
@@ -876,6 +876,9 @@ static irqreturn_t max17042_thread_handler(int id, void *dev)
 		max17042_set_soc_threshold(chip, 1);
 	}
 
+	regmap_clear_bits(chip->regmap, MAX17042_STATUS,
+			  0xFFFF & ~(STATUS_POR_BIT | STATUS_BST_BIT));
+
 	power_supply_changed(chip->battery);
 	return IRQ_HANDLED;
 }
-- 
2.33.0


             reply	other threads:[~2021-09-12 20:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-12 20:54 Sebastian Krzyszkowiak [this message]
2021-09-12 20:54 ` [PATCH 2/2] power: supply: max17042_battery: Prevent int underflow in set_soc_threshold Sebastian Krzyszkowiak
2021-09-13  5:43   ` Greg KH
2021-09-13 13:05   ` Krzysztof Kozlowski
2021-09-13 13:02 ` [PATCH 1/2] power: supply: max17042_battery: Clear status bits in interrupt handler Krzysztof Kozlowski
2021-09-13 18:32   ` Sebastian Krzyszkowiak
2021-09-14  7:21     ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210912205402.160939-1-sebastian.krzyszkowiak@puri.sm \
    --to=sebastian.krzyszkowiak@puri.sm \
    --cc=anton.vorontsov@linaro.org \
    --cc=dirk.brandewie@gmail.com \
    --cc=krzk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=ramakrishna.pallala@intel.com \
    --cc=sre@kernel.org \
    --cc=stable@vger.kernel.org \
    --subject='Re: [PATCH 1/2] power: supply: max17042_battery: Clear status bits in interrupt handler' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).