linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Sasha Levin <sashal@kernel.org>,
	linux-rtc@vger.kernel.org
Subject: [PATCH AUTOSEL 4.9 15/18] rtc: max77686: Do not enforce (incorrect) interrupt trigger type
Date: Wed, 14 Jul 2021 15:48:03 -0400	[thread overview]
Message-ID: <20210714194806.55962-15-sashal@kernel.org> (raw)
In-Reply-To: <20210714194806.55962-1-sashal@kernel.org>

From: Krzysztof Kozlowski <krzk@kernel.org>

[ Upstream commit 742b0d7e15c333303daad4856de0764f4bc83601 ]

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 77686 datasheet describes 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@kernel.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210526172036.183223-6-krzysztof.kozlowski@canonical.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/rtc/rtc-max77686.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/rtc/rtc-max77686.c b/drivers/rtc/rtc-max77686.c
index 182fdd00e290..ecd61573dd31 100644
--- a/drivers/rtc/rtc-max77686.c
+++ b/drivers/rtc/rtc-max77686.c
@@ -718,8 +718,8 @@ static int max77686_init_rtc_regmap(struct max77686_rtc_info *info)
 
 add_rtc_irq:
 	ret = regmap_add_irq_chip(info->rtc_regmap, info->rtc_irq,
-				  IRQF_TRIGGER_FALLING | IRQF_ONESHOT |
-				  IRQF_SHARED, 0, info->drv_data->rtc_irq_chip,
+				  IRQF_ONESHOT | IRQF_SHARED,
+				  0, info->drv_data->rtc_irq_chip,
 				  &info->rtc_irq_data);
 	if (ret < 0) {
 		dev_err(info->dev, "Failed to add RTC irq chip: %d\n", ret);
-- 
2.30.2


  parent reply	other threads:[~2021-07-14 20:04 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-14 19:47 [PATCH AUTOSEL 4.9 01/18] ARM: dts: rockchip: fix pinctrl sleep nodename for rk3036-kylin and rk3288 Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 02/18] ARM: dts: rockchip: Fix power-controller node names for rk3288 Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 03/18] reset: ti-syscon: fix to_ti_syscon_reset_data macro Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 04/18] ARM: brcmstb: dts: fix NAND nodes names Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 05/18] ARM: dts: BCM63xx: Fix " Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 06/18] ARM: dts: imx25-pinfunc: Fix gpio function name for pads GPIO_[A-F] Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 07/18] ARM: dts: imx6: phyFLEX: Fix UART hardware flow control Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 08/18] ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 09/18] ARM: dts: am437x: align gpio hog names with dt-schema Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 10/18] ARM: dts: omap5-board-common: " Sasha Levin
2021-07-14 19:47 ` [PATCH AUTOSEL 4.9 11/18] ARM: dts: stm32: fix RCC node name on stm32f429 MCU Sasha Levin
2021-07-14 19:48 ` [PATCH AUTOSEL 4.9 12/18] arm64: dts: juno: Update SCPI nodes as per the YAML schema Sasha Levin
2021-07-14 19:48 ` [PATCH AUTOSEL 4.9 13/18] thermal/core: Correct function name thermal_zone_device_unregister() Sasha Levin
2021-07-14 19:48 ` [PATCH AUTOSEL 4.9 14/18] kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set Sasha Levin
2021-07-14 19:48 ` Sasha Levin [this message]
2021-07-14 19:48 ` [PATCH AUTOSEL 4.9 16/18] scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8 Sasha Levin
2021-07-14 19:48 ` [PATCH AUTOSEL 4.9 17/18] scsi: be2iscsi: Fix some missing space in some messages Sasha Levin
2021-07-16 19:22   ` Marion & Christophe JAILLET
2021-07-21 10:42     ` Sasha Levin
2021-07-14 19:48 ` [PATCH AUTOSEL 4.9 18/18] sched/fair: Fix CFS bandwidth hrtimer expiry type Sasha Levin

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=20210714194806.55962-15-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=alexandre.belloni@bootlin.com \
    --cc=krzk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --subject='Re: [PATCH AUTOSEL 4.9 15/18] rtc: max77686: Do not enforce (incorrect) interrupt trigger type' \
    /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).