linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100
@ 2020-12-10 21:25 Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 02/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on P4 Note family Krzysztof Kozlowski
                   ` (17 more replies)
  0 siblings, 18 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim fuel gauge datasheets describe the interrupt line as active
low with a requirement of acknowledge from the CPU.  The falling edge
interrupt will mostly work but it's not correct.

Fixes: 8620cc2f99b7 ("ARM: dts: exynos: Add devicetree file for the Galaxy S2")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/exynos4210-i9100.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos4210-i9100.dts b/arch/arm/boot/dts/exynos4210-i9100.dts
index a0c3bab382ae..e56b64e237d3 100644
--- a/arch/arm/boot/dts/exynos4210-i9100.dts
+++ b/arch/arm/boot/dts/exynos4210-i9100.dts
@@ -136,7 +136,7 @@ battery@36 {
 			compatible = "maxim,max17042";
 
 			interrupt-parent = <&gpx2>;
-			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
 
 			pinctrl-0 = <&max17042_fuel_irq>;
 			pinctrl-names = "default";
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 02/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on P4 Note family
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 03/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family Krzysztof Kozlowski
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim fuel gauge datasheets describe the interrupt line as active
low with a requirement of acknowledge from the CPU.  The falling edge
interrupt will mostly work but it's not correct.

Fixes: f48b5050c301 ("ARM: dts: exynos: add Samsung's Exynos4412-based P4 Note boards")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/exynos4412-p4note.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos4412-p4note.dtsi b/arch/arm/boot/dts/exynos4412-p4note.dtsi
index b2f9d5448a18..5fe371543cbb 100644
--- a/arch/arm/boot/dts/exynos4412-p4note.dtsi
+++ b/arch/arm/boot/dts/exynos4412-p4note.dtsi
@@ -146,7 +146,7 @@ fuel-gauge@36 {
 			pinctrl-0 = <&fuel_alert_irq>;
 			pinctrl-names = "default";
 			interrupt-parent = <&gpx2>;
-			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
 			maxim,rsns-microohm = <10000>;
 			maxim,over-heat-temp = <600>;
 			maxim,over-volt = <4300>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 03/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 02/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on P4 Note family Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-29 15:43   ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 04/18] ARM: dts: exynos: correct MUIC " Krzysztof Kozlowski
                   ` (15 subsequent siblings)
  17 siblings, 1 reply; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim fuel gauge datasheets describe the interrupt line as active
low with a requirement of acknowledge from the CPU.  The falling edge
interrupt will mostly work but it's not correct.

Fixes: e8614292cd41 ("ARM: dts: Add Maxim 77693 fuel gauge node for exynos4412-trats2")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/exynos4412-midas.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi
index 111c32bae02c..b8b75dc81aa1 100644
--- a/arch/arm/boot/dts/exynos4412-midas.dtsi
+++ b/arch/arm/boot/dts/exynos4412-midas.dtsi
@@ -221,7 +221,7 @@ i2c_max77693_fuel: i2c-gpio-3 {
 		fuel-gauge@36 {
 			compatible = "maxim,max17047";
 			interrupt-parent = <&gpx2>;
-			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&max77693_fuel_irq>;
 			reg = <0x36>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 04/18] ARM: dts: exynos: correct MUIC interrupt trigger level on Midas family
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 02/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on P4 Note family Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 03/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 05/18] ARM: dts: exynos: correct PMIC " Krzysztof Kozlowski
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim MUIC datasheets describe the interrupt line as active low
with a requirement of acknowledge from the CPU.  Without specifying the
interrupt type in Devicetree, kernel might apply some fixed
configuration, not necessarily working for this hardware.

Additionally, the interrupt line is shared so using level sensitive
interrupt is here especially important to avoid races.

Fixes: 7eec1266751b ("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/exynos4412-midas.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi
index b8b75dc81aa1..d75f554efde0 100644
--- a/arch/arm/boot/dts/exynos4412-midas.dtsi
+++ b/arch/arm/boot/dts/exynos4412-midas.dtsi
@@ -173,7 +173,7 @@ i2c_max77693: i2c-gpio-1 {
 		pmic@66 {
 			compatible = "maxim,max77693";
 			interrupt-parent = <&gpx1>;
-			interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
+			interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&max77693_irq>;
 			reg = <0x66>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 05/18] ARM: dts: exynos: correct PMIC interrupt trigger level on Midas family
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (2 preceding siblings ...)
  2020-12-10 21:25 ` [PATCH 04/18] ARM: dts: exynos: correct MUIC " Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 06/18] ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family Krzysztof Kozlowski
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim PMIC datasheets describe the interrupt line as active low
with a requirement of acknowledge from the CPU.  Without specifying the
interrupt type in Devicetree, kernel might apply some fixed
configuration, not necessarily working for this hardware.

Additionally, the interrupt line is shared so using level sensitive
interrupt is here especially important to avoid races.

Fixes: 15dfdfad2d4a ("ARM: dts: Add basic dts for Exynos4412-based Trats 2 board")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/exynos4412-midas.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi
index d75f554efde0..fc77c1bfd844 100644
--- a/arch/arm/boot/dts/exynos4412-midas.dtsi
+++ b/arch/arm/boot/dts/exynos4412-midas.dtsi
@@ -665,7 +665,7 @@ &i2c_7 {
 	max77686: pmic@9 {
 		compatible = "maxim,max77686";
 		interrupt-parent = <&gpx0>;
-		interrupts = <7 IRQ_TYPE_NONE>;
+		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-0 = <&max77686_irq>;
 		pinctrl-names = "default";
 		reg = <0x09>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 06/18] ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (3 preceding siblings ...)
  2020-12-10 21:25 ` [PATCH 05/18] ARM: dts: exynos: correct PMIC " Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 07/18] ARM: dts: exynos: correct PMIC interrupt trigger level on P4 Note family Krzysztof Kozlowski
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim PMIC datasheets describe the interrupt line as active low
with a requirement of acknowledge from the CPU.  Without specifying the
interrupt type in Devicetree, kernel might apply some fixed
configuration, not necessarily working for this hardware.

Additionally, the interrupt line is shared so using level sensitive
interrupt is here especially important to avoid races.

Fixes: eea6653aae7b ("ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index 2b20d9095d9f..eebe6a3952ce 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -278,7 +278,7 @@ usb3503: usb-hub@8 {
 	max77686: pmic@9 {
 		compatible = "maxim,max77686";
 		interrupt-parent = <&gpx3>;
-		interrupts = <2 IRQ_TYPE_NONE>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&max77686_irq>;
 		reg = <0x09>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 07/18] ARM: dts: exynos: correct PMIC interrupt trigger level on P4 Note family
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (4 preceding siblings ...)
  2020-12-10 21:25 ` [PATCH 06/18] ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 08/18] ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250 Krzysztof Kozlowski
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim PMIC datasheets describe the interrupt line as active low
with a requirement of acknowledge from the CPU.  Without specifying the
interrupt type in Devicetree, kernel might apply some fixed
configuration, not necessarily working for this hardware.

Additionally, the interrupt line is shared so using level sensitive
interrupt is here especially important to avoid races.

Fixes: f48b5050c301 ("ARM: dts: exynos: add Samsung's Exynos4412-based P4 Note boards")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/exynos4412-p4note.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos4412-p4note.dtsi b/arch/arm/boot/dts/exynos4412-p4note.dtsi
index 5fe371543cbb..9e750890edb8 100644
--- a/arch/arm/boot/dts/exynos4412-p4note.dtsi
+++ b/arch/arm/boot/dts/exynos4412-p4note.dtsi
@@ -322,7 +322,7 @@ &i2c_7 {
 	max77686: pmic@9 {
 		compatible = "maxim,max77686";
 		interrupt-parent = <&gpx0>;
-		interrupts = <7 IRQ_TYPE_NONE>;
+		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-0 = <&max77686_irq>;
 		pinctrl-names = "default";
 		reg = <0x09>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 08/18] ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (5 preceding siblings ...)
  2020-12-10 21:25 ` [PATCH 07/18] ARM: dts: exynos: correct PMIC interrupt trigger level on P4 Note family Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 09/18] ARM: dts: exynos: correct PMIC interrupt trigger level on Snow Krzysztof Kozlowski
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim PMIC datasheets describe the interrupt line as active low
with a requirement of acknowledge from the CPU.  Without specifying the
interrupt type in Devicetree, kernel might apply some fixed
configuration, not necessarily working for this hardware.

Additionally, the interrupt line is shared so using level sensitive
interrupt is here especially important to avoid races.

Fixes: 47580e8d94c2 ("ARM: dts: Specify MAX77686 pmic interrupt for exynos5250-smdk5250")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/exynos5250-smdk5250.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 8b5a79a8720c..39bbe18145cf 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -134,7 +134,7 @@ max77686: pmic@9 {
 		compatible = "maxim,max77686";
 		reg = <0x09>;
 		interrupt-parent = <&gpx3>;
-		interrupts = <2 IRQ_TYPE_NONE>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&max77686_irq>;
 		#clock-cells = <1>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 09/18] ARM: dts: exynos: correct PMIC interrupt trigger level on Snow
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (6 preceding siblings ...)
  2020-12-10 21:25 ` [PATCH 08/18] ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250 Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 10/18] ARM: dts: s5pv210: correct fuel gauge interrupt trigger level on Fascinate family Krzysztof Kozlowski
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim PMIC datasheets describe the interrupt line as active low
with a requirement of acknowledge from the CPU.  Without specifying the
interrupt type in Devicetree, kernel might apply some fixed
configuration, not necessarily working for this hardware.

Additionally, the interrupt line is shared so using level sensitive
interrupt is here especially important to avoid races.

Fixes: c61248afa819 ("ARM: dts: Add max77686 RTC interrupt to cros5250-common")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/exynos5250-snow-common.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos5250-snow-common.dtsi b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
index 6635f6184051..2335c4687349 100644
--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
@@ -292,7 +292,7 @@ &i2c_0 {
 	max77686: pmic@9 {
 		compatible = "maxim,max77686";
 		interrupt-parent = <&gpx3>;
-		interrupts = <2 IRQ_TYPE_NONE>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&max77686_irq>;
 		wakeup-source;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 10/18] ARM: dts: s5pv210: correct fuel gauge interrupt trigger level on Fascinate family
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (7 preceding siblings ...)
  2020-12-10 21:25 ` [PATCH 09/18] ARM: dts: exynos: correct PMIC interrupt trigger level on Snow Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [PATCH 11/18] ARM: dts: qcom: msm8974-lge-nexus5: correct fuel gauge interrupt trigger level Krzysztof Kozlowski
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim fuel gauge datasheets describe the interrupt line as active
low with a requirement of acknowledge from the CPU.  The falling edge
interrupt will mostly work but it's not correct.

Fixes: 99bb20321f0e ("ARM: dts: s5pv210: Correct fuelgauge definition on Aries")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/s5pv210-fascinate4g.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/s5pv210-fascinate4g.dts b/arch/arm/boot/dts/s5pv210-fascinate4g.dts
index ca064359dd30..b47d8300e536 100644
--- a/arch/arm/boot/dts/s5pv210-fascinate4g.dts
+++ b/arch/arm/boot/dts/s5pv210-fascinate4g.dts
@@ -115,7 +115,7 @@ &fg {
 	compatible = "maxim,max77836-battery";
 
 	interrupt-parent = <&gph3>;
-	interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+	interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
 
 	pinctrl-names = "default";
 	pinctrl-0 = <&fg_irq>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 11/18] ARM: dts: qcom: msm8974-lge-nexus5: correct fuel gauge interrupt trigger level
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (8 preceding siblings ...)
  2020-12-10 21:25 ` [PATCH 10/18] ARM: dts: s5pv210: correct fuel gauge interrupt trigger level on Fascinate family Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-11 15:29   ` Iskren Chernev
  2020-12-10 21:25 ` [PATCH 12/18] ARM: dts: qcom: msm8974-samsung-klte: " Krzysztof Kozlowski
                   ` (7 subsequent siblings)
  17 siblings, 1 reply; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim fuel gauge datasheets describe the interrupt line as active
low with a requirement of acknowledge from the CPU.  The falling edge
interrupt will mostly work but it's not correct.

Fixes: 45dfa741df86 ("ARM: dts: qcom: msm8974-lge-nexus5: Add fuel gauge")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
index e769f638f205..4c6f54aa9f66 100644
--- a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
@@ -575,7 +575,7 @@ fuelgauge: max17048@36 {
 			maxim,rcomp = /bits/ 8 <0x4d>;
 
 			interrupt-parent = <&msmgpio>;
-			interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
+			interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
 
 			pinctrl-names = "default";
 			pinctrl-0 = <&fuelgauge_pin>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH 12/18] ARM: dts: qcom: msm8974-samsung-klte: correct fuel gauge interrupt trigger level
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (9 preceding siblings ...)
  2020-12-10 21:25 ` [PATCH 11/18] ARM: dts: qcom: msm8974-lge-nexus5: correct fuel gauge interrupt trigger level Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-11 15:25   ` Iskren Chernev
  2020-12-10 21:25 ` [RFC 13/18] mfd: max77686: Do not enforce (incorrect) interrupt trigger type Krzysztof Kozlowski
                   ` (6 subsequent siblings)
  17 siblings, 1 reply; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

The Maxim fuel gauge datasheets describe the interrupt line as active
low with a requirement of acknowledge from the CPU.  The falling edge
interrupt will mostly work but it's not correct.

Fixes: da8d46992e67 ("ARM: dts: qcom: msm8974-klte: Add fuel gauge")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 97352de91314..64a3fdb79539 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -691,7 +691,7 @@ fuelgauge@36 {
 			maxim,rcomp = /bits/ 8 <0x56>;
 
 			interrupt-parent = <&pma8084_gpios>;
-			interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
+			interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
 
 			pinctrl-names = "default";
 			pinctrl-0 = <&fuelgauge_pin>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [RFC 13/18] mfd: max77686: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (10 preceding siblings ...)
  2020-12-10 21:25 ` [PATCH 12/18] ARM: dts: qcom: msm8974-samsung-klte: " Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-21 18:45   ` Rob Herring
  2020-12-10 21:25 ` [RFC 14/18] rtc: " Krzysztof Kozlowski
                   ` (5 subsequent siblings)
  17 siblings, 1 reply; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

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>

---

This patch should wait till DTS changes are merged, as it relies on
proper Devicetree.
---
 Documentation/devicetree/bindings/clock/maxim,max77686.txt | 4 ++--
 Documentation/devicetree/bindings/mfd/max77686.txt         | 2 +-
 Documentation/devicetree/bindings/regulator/max77686.txt   | 2 +-
 drivers/mfd/max77686.c                                     | 3 +--
 4 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/maxim,max77686.txt b/Documentation/devicetree/bindings/clock/maxim,max77686.txt
index 3472b461ca93..c10849efb444 100644
--- a/Documentation/devicetree/bindings/clock/maxim,max77686.txt
+++ b/Documentation/devicetree/bindings/clock/maxim,max77686.txt
@@ -49,7 +49,7 @@ Example:
 		max77686: max77686@9 {
 			compatible = "maxim,max77686";
 			interrupt-parent = <&wakeup_eint>;
-			interrupts = <26 0>;
+			interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
 			reg = <0x09>;
 			#clock-cells = <1>;
 
@@ -74,7 +74,7 @@ Example:
 		max77802: max77802@9 {
 			compatible = "maxim,max77802";
 			interrupt-parent = <&wakeup_eint>;
-			interrupts = <26 0>;
+			interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
 			reg = <0x09>;
 			#clock-cells = <1>;
 
diff --git a/Documentation/devicetree/bindings/mfd/max77686.txt b/Documentation/devicetree/bindings/mfd/max77686.txt
index 42968b7144e0..4447d074894a 100644
--- a/Documentation/devicetree/bindings/mfd/max77686.txt
+++ b/Documentation/devicetree/bindings/mfd/max77686.txt
@@ -21,6 +21,6 @@ Example:
 	max77686: pmic@9 {
 		compatible = "maxim,max77686";
 		interrupt-parent = <&wakeup_eint>;
-		interrupts = <26 0>;
+		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
 		reg = <0x09>;
 	};
diff --git a/Documentation/devicetree/bindings/regulator/max77686.txt b/Documentation/devicetree/bindings/regulator/max77686.txt
index e9f7578ca09a..ff3d2dec8c4b 100644
--- a/Documentation/devicetree/bindings/regulator/max77686.txt
+++ b/Documentation/devicetree/bindings/regulator/max77686.txt
@@ -43,7 +43,7 @@ Example:
 	max77686: pmic@9 {
 		compatible = "maxim,max77686";
 		interrupt-parent = <&wakeup_eint>;
-		interrupts = <26 IRQ_TYPE_NONE>;
+		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
 		reg = <0x09>;
 
 		voltage-regulators {
diff --git a/drivers/mfd/max77686.c b/drivers/mfd/max77686.c
index 2ad554b921d9..f9e12ab2bc75 100644
--- a/drivers/mfd/max77686.c
+++ b/drivers/mfd/max77686.c
@@ -209,8 +209,7 @@ static int max77686_i2c_probe(struct i2c_client *i2c)
 
 	ret = devm_regmap_add_irq_chip(&i2c->dev, max77686->regmap,
 				       max77686->irq,
-				       IRQF_TRIGGER_FALLING | IRQF_ONESHOT |
-				       IRQF_SHARED, 0, irq_chip,
+				       IRQF_ONESHOT | IRQF_SHARED, 0, irq_chip,
 				       &max77686->irq_data);
 	if (ret < 0) {
 		dev_err(&i2c->dev, "failed to add PMIC irq chip: %d\n", ret);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [RFC 14/18] rtc: max77686: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (11 preceding siblings ...)
  2020-12-10 21:25 ` [RFC 13/18] mfd: max77686: Do not enforce (incorrect) interrupt trigger type Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [RFC 15/18] mfd: max77693: " Krzysztof Kozlowski
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

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>

---

This patch should wait till DTS changes are merged, as it relies on
proper Devicetree.
---
 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 d51cc12114cb..eae7cb9faf1e 100644
--- a/drivers/rtc/rtc-max77686.c
+++ b/drivers/rtc/rtc-max77686.c
@@ -717,8 +717,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.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [RFC 15/18] mfd: max77693: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (12 preceding siblings ...)
  2020-12-10 21:25 ` [RFC 14/18] rtc: " Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-21 18:46   ` Rob Herring
  2020-12-10 21:25 ` [RFC 16/18] power: supply: max17042: " Krzysztof Kozlowski
                   ` (3 subsequent siblings)
  17 siblings, 1 reply; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

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 77693 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>

---

This patch should wait till DTS changes are merged, as it relies on
proper Devicetree.
---
 Documentation/devicetree/bindings/mfd/max77693.txt |  2 +-
 drivers/mfd/max77693.c                             | 12 ++++--------
 2 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt b/Documentation/devicetree/bindings/mfd/max77693.txt
index 0ced96e16c16..1032df14498b 100644
--- a/Documentation/devicetree/bindings/mfd/max77693.txt
+++ b/Documentation/devicetree/bindings/mfd/max77693.txt
@@ -139,7 +139,7 @@ Example:
 		compatible = "maxim,max77693";
 		reg = <0x66>;
 		interrupt-parent = <&gpx1>;
-		interrupts = <5 2>;
+		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
 
 		regulators {
 			esafeout@1 {
diff --git a/drivers/mfd/max77693.c b/drivers/mfd/max77693.c
index 596ed85cab3b..4e6244e17559 100644
--- a/drivers/mfd/max77693.c
+++ b/drivers/mfd/max77693.c
@@ -222,8 +222,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c,
 	}
 
 	ret = regmap_add_irq_chip(max77693->regmap, max77693->irq,
-				IRQF_ONESHOT | IRQF_SHARED |
-				IRQF_TRIGGER_FALLING, 0,
+				IRQF_ONESHOT | IRQF_SHARED, 0,
 				&max77693_led_irq_chip,
 				&max77693->irq_data_led);
 	if (ret) {
@@ -232,8 +231,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c,
 	}
 
 	ret = regmap_add_irq_chip(max77693->regmap, max77693->irq,
-				IRQF_ONESHOT | IRQF_SHARED |
-				IRQF_TRIGGER_FALLING, 0,
+				IRQF_ONESHOT | IRQF_SHARED, 0,
 				&max77693_topsys_irq_chip,
 				&max77693->irq_data_topsys);
 	if (ret) {
@@ -242,8 +240,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c,
 	}
 
 	ret = regmap_add_irq_chip(max77693->regmap, max77693->irq,
-				IRQF_ONESHOT | IRQF_SHARED |
-				IRQF_TRIGGER_FALLING, 0,
+				IRQF_ONESHOT | IRQF_SHARED, 0,
 				&max77693_charger_irq_chip,
 				&max77693->irq_data_chg);
 	if (ret) {
@@ -252,8 +249,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c,
 	}
 
 	ret = regmap_add_irq_chip(max77693->regmap_muic, max77693->irq,
-				IRQF_ONESHOT | IRQF_SHARED |
-				IRQF_TRIGGER_FALLING, 0,
+				IRQF_ONESHOT | IRQF_SHARED, 0,
 				&max77693_muic_irq_chip,
 				&max77693->irq_data_muic);
 	if (ret) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [RFC 16/18] power: supply: max17042: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (13 preceding siblings ...)
  2020-12-10 21:25 ` [RFC 15/18] mfd: max77693: " Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 21:25 ` [RFC 17/18] mfd: max14577: " Krzysztof Kozlowski
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

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@kernel.org>

---

This patch should wait till DTS changes are merged, as it relies on
proper Devicetree.
---
 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 79d4b5988360..8117ecabe31c 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.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [RFC 17/18] mfd: max14577: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (14 preceding siblings ...)
  2020-12-10 21:25 ` [RFC 16/18] power: supply: max17042: " Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-21 18:47   ` Rob Herring
  2020-12-10 21:25 ` [RFC 18/18] power: supply: max17040: " Krzysztof Kozlowski
  2021-03-03 18:19 ` [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
  17 siblings, 1 reply; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

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 14577/77836 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 charger 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>

---

This patch should wait till DTS changes are merged, as it relies on
proper Devicetree.
---
 Documentation/devicetree/bindings/mfd/max14577.txt | 4 ++--
 drivers/mfd/max14577.c                             | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/max14577.txt b/Documentation/devicetree/bindings/mfd/max14577.txt
index 92070b346756..be11943a0560 100644
--- a/Documentation/devicetree/bindings/mfd/max14577.txt
+++ b/Documentation/devicetree/bindings/mfd/max14577.txt
@@ -71,7 +71,7 @@ max14577@25 {
 	compatible = "maxim,max14577";
 	reg = <0x25>;
 	interrupt-parent = <&gpx1>;
-	interrupts = <5 IRQ_TYPE_NONE>;
+	interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
 
 	muic: max14577-muic {
 		compatible = "maxim,max14577-muic";
@@ -106,7 +106,7 @@ max77836@25 {
 	compatible = "maxim,max77836";
 	reg = <0x25>;
 	interrupt-parent = <&gpx1>;
-	interrupts = <5 IRQ_TYPE_NONE>;
+	interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
 
 	muic: max77836-muic {
 		compatible = "maxim,max77836-muic";
diff --git a/drivers/mfd/max14577.c b/drivers/mfd/max14577.c
index be185e9d5f16..6c487fa14e9c 100644
--- a/drivers/mfd/max14577.c
+++ b/drivers/mfd/max14577.c
@@ -332,7 +332,7 @@ static int max77836_init(struct max14577 *max14577)
 	}
 
 	ret = regmap_add_irq_chip(max14577->regmap_pmic, max14577->irq,
-			IRQF_TRIGGER_FALLING | IRQF_ONESHOT | IRQF_SHARED,
+			IRQF_ONESHOT | IRQF_SHARED,
 			0, &max77836_pmic_irq_chip,
 			&max14577->irq_data_pmic);
 	if (ret != 0) {
@@ -418,14 +418,14 @@ static int max14577_i2c_probe(struct i2c_client *i2c,
 		irq_chip = &max77836_muic_irq_chip;
 		mfd_devs = max77836_devs;
 		mfd_devs_size = ARRAY_SIZE(max77836_devs);
-		irq_flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT | IRQF_SHARED;
+		irq_flags = IRQF_ONESHOT | IRQF_SHARED;
 		break;
 	case MAXIM_DEVICE_TYPE_MAX14577:
 	default:
 		irq_chip = &max14577_irq_chip;
 		mfd_devs = max14577_devs;
 		mfd_devs_size = ARRAY_SIZE(max14577_devs);
-		irq_flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
+		irq_flags = IRQF_ONESHOT;
 		break;
 	}
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [RFC 18/18] power: supply: max17040: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (15 preceding siblings ...)
  2020-12-10 21:25 ` [RFC 17/18] mfd: max14577: " Krzysztof Kozlowski
@ 2020-12-10 21:25 ` Krzysztof Kozlowski
  2020-12-10 22:16   ` Sebastian Reichel
  2020-12-11  7:47   ` Krzysztof Kozlowski
  2021-03-03 18:19 ` [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
  17 siblings, 2 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-10 21:25 UTC (permalink / raw)
  To: Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

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 14577/77836 datasheets describe the interrupt line as active
low with a requirement of acknowledge from the CPU therefore the edge
falling is not correct.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

---

This patch should wait till DTS changes are merged, as it relies on
proper Devicetree.
---
 .../devicetree/bindings/power/supply/max17040_battery.txt       | 2 +-
 drivers/power/supply/max17040_battery.c                         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
index c802f664b508..194eb9fe574d 100644
--- a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
+++ b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
@@ -39,7 +39,7 @@ Example:
 		reg = <0x36>;
 		maxim,alert-low-soc-level = <10>;
 		interrupt-parent = <&gpio7>;
-		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		wakeup-source;
 	};
 
diff --git a/drivers/power/supply/max17040_battery.c b/drivers/power/supply/max17040_battery.c
index d956c67d5155..f737de0470de 100644
--- a/drivers/power/supply/max17040_battery.c
+++ b/drivers/power/supply/max17040_battery.c
@@ -367,7 +367,7 @@ static int max17040_enable_alert_irq(struct max17040_chip *chip)
 
 	flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
 	ret = devm_request_threaded_irq(&client->dev, client->irq, NULL,
-					max17040_thread_handler, flags,
+					max17040_thread_handler, IRQF_ONESHOT,
 					chip->battery->desc->name, chip);
 
 	return ret;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [RFC 18/18] power: supply: max17040: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 ` [RFC 18/18] power: supply: max17040: " Krzysztof Kozlowski
@ 2020-12-10 22:16   ` Sebastian Reichel
  2020-12-11  7:52     ` Krzysztof Kozlowski
  2020-12-11  7:47   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 30+ messages in thread
From: Sebastian Reichel @ 2020-12-10 22:16 UTC (permalink / raw)
  To: Krzysztof Kozlowski; +Cc: linux-kernel, linux-pm

[-- Attachment #1: Type: text/plain, Size: 674 bytes --]

(I shortened the Cc)

Hi,

On Thu, Dec 10, 2020 at 10:25:34PM +0100, Krzysztof Kozlowski wrote:
> [...]
> index d956c67d5155..f737de0470de 100644
> --- a/drivers/power/supply/max17040_battery.c
> +++ b/drivers/power/supply/max17040_battery.c
> @@ -367,7 +367,7 @@ static int max17040_enable_alert_irq(struct max17040_chip *chip)
>  
>  	flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
>  	ret = devm_request_threaded_irq(&client->dev, client->irq, NULL,
> -					max17040_thread_handler, flags,
> +					max17040_thread_handler, IRQF_ONESHOT,
>  					chip->battery->desc->name, chip);
>  
>  	return ret;

'flags' is unused after this change.

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [RFC 18/18] power: supply: max17040: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 ` [RFC 18/18] power: supply: max17040: " Krzysztof Kozlowski
  2020-12-10 22:16   ` Sebastian Reichel
@ 2020-12-11  7:47   ` Krzysztof Kozlowski
  2020-12-11 15:44     ` Iskren Chernev
  1 sibling, 1 reply; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-11  7:47 UTC (permalink / raw)
  To: Chanwoo Choi, Bartlomiej Zolnierkiewicz, Michael Turquette,
	Stephen Boyd, Rob Herring, Lee Jones, Sebastian Reichel,
	Liam Girdwood, Mark Brown, Andy Gross, Bjorn Andersson,
	Alessandro Zummo, Alexandre Belloni, linux-kernel, linux-clk,
	devicetree, linux-pm, linux-arm-kernel, linux-samsung-soc,
	linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

On Thu, Dec 10, 2020 at 10:25:34PM +0100, Krzysztof Kozlowski wrote:
> 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 14577/77836 datasheets describe the interrupt line as active
> low with a requirement of acknowledge from the CPU therefore the edge
> falling is not correct.
> 
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> 
> ---
> 
> This patch should wait till DTS changes are merged, as it relies on
> proper Devicetree.
> ---
>  .../devicetree/bindings/power/supply/max17040_battery.txt       | 2 +-
>  drivers/power/supply/max17040_battery.c                         | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
> index c802f664b508..194eb9fe574d 100644
> --- a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
> +++ b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
> @@ -39,7 +39,7 @@ Example:
>  		reg = <0x36>;
>  		maxim,alert-low-soc-level = <10>;
>  		interrupt-parent = <&gpio7>;
> -		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> +		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
>  		wakeup-source;
>  	};
>  
> diff --git a/drivers/power/supply/max17040_battery.c b/drivers/power/supply/max17040_battery.c
> index d956c67d5155..f737de0470de 100644
> --- a/drivers/power/supply/max17040_battery.c
> +++ b/drivers/power/supply/max17040_battery.c
> @@ -367,7 +367,7 @@ static int max17040_enable_alert_irq(struct max17040_chip *chip)
>  
>  	flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;

This has to be removed. I will fix it in v2.

Best regards,
Krzysztof


>  	ret = devm_request_threaded_irq(&client->dev, client->irq, NULL,
> -					max17040_thread_handler, flags,
> +					max17040_thread_handler, IRQF_ONESHOT,
>  					chip->battery->desc->name, chip);
>  
>  	return ret;
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [RFC 18/18] power: supply: max17040: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 22:16   ` Sebastian Reichel
@ 2020-12-11  7:52     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-11  7:52 UTC (permalink / raw)
  To: Sebastian Reichel; +Cc: linux-kernel, linux-pm

On Thu, Dec 10, 2020 at 11:16:00PM +0100, Sebastian Reichel wrote:
> (I shortened the Cc)
> 
> Hi,
> 
> On Thu, Dec 10, 2020 at 10:25:34PM +0100, Krzysztof Kozlowski wrote:
> > [...]
> > index d956c67d5155..f737de0470de 100644
> > --- a/drivers/power/supply/max17040_battery.c
> > +++ b/drivers/power/supply/max17040_battery.c
> > @@ -367,7 +367,7 @@ static int max17040_enable_alert_irq(struct max17040_chip *chip)
> >  
> >  	flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
> >  	ret = devm_request_threaded_irq(&client->dev, client->irq, NULL,
> > -					max17040_thread_handler, flags,
> > +					max17040_thread_handler, IRQF_ONESHOT,
> >  					chip->battery->desc->name, chip);
> >  
> >  	return ret;
> 
> 'flags' is unused after this change.

Indeed, thanks. Kbuild also complained now on my github branch. I'll fix
it in v2.


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 12/18] ARM: dts: qcom: msm8974-samsung-klte: correct fuel gauge interrupt trigger level
  2020-12-10 21:25 ` [PATCH 12/18] ARM: dts: qcom: msm8974-samsung-klte: " Krzysztof Kozlowski
@ 2020-12-11 15:25   ` Iskren Chernev
  0 siblings, 0 replies; 30+ messages in thread
From: Iskren Chernev @ 2020-12-11 15:25 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Chanwoo Choi, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Matheus Castello, Sebastian Krzyszkowiak, Angus Ainslie, Hans de Goede


On 12/10/20 11:25 PM, Krzysztof Kozlowski wrote:
 > The Maxim fuel gauge datasheets describe the interrupt line as active
 > low with a requirement of acknowledge from the CPU.  The falling edge
 > interrupt will mostly work but it's not correct.
 >
 > Fixes: da8d46992e67 ("ARM: dts: qcom: msm8974-klte: Add fuel gauge")
 > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
 > ---
 >  arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts | 2 +-
 >  1 file changed, 1 insertion(+), 1 deletion(-)
 >
 > diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts 
b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
 > index 97352de91314..64a3fdb79539 100644
 > --- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
 > +++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
 > @@ -691,7 +691,7 @@ fuelgauge@36 {
 >              maxim,rcomp = /bits/ 8 <0x56>;
 >
 >              interrupt-parent = <&pma8084_gpios>;
 > -            interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
 > +            interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
 >
 >              pinctrl-names = "default";
 >              pinctrl-0 = <&fuelgauge_pin>;

After testing this patch + the rfc modifying 17040 driver I can confirm it
works on the klte. Also, according to the max17048 datasheet, the ALRT pin
is active low, so everything is in order.

Acked-By: Iskren Chernev <iskren.chernev@gmail.com>
Tested-By: Iskren Chernev <iskren.chernev@gmail.com>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 11/18] ARM: dts: qcom: msm8974-lge-nexus5: correct fuel gauge interrupt trigger level
  2020-12-10 21:25 ` [PATCH 11/18] ARM: dts: qcom: msm8974-lge-nexus5: correct fuel gauge interrupt trigger level Krzysztof Kozlowski
@ 2020-12-11 15:29   ` Iskren Chernev
  0 siblings, 0 replies; 30+ messages in thread
From: Iskren Chernev @ 2020-12-11 15:29 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Chanwoo Choi, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Matheus Castello, Sebastian Krzyszkowiak, Angus Ainslie, Hans de Goede


On 12/10/20 11:25 PM, Krzysztof Kozlowski wrote:
 > The Maxim fuel gauge datasheets describe the interrupt line as active
 > low with a requirement of acknowledge from the CPU.  The falling edge
 > interrupt will mostly work but it's not correct.
 >
 > Fixes: 45dfa741df86 ("ARM: dts: qcom: msm8974-lge-nexus5: Add fuel 
gauge")
 > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
 > ---
 >  arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts | 2 +-
 >  1 file changed, 1 insertion(+), 1 deletion(-)
 >
 > diff --git a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts 
b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
 > index e769f638f205..4c6f54aa9f66 100644
 > --- a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
 > +++ b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
 > @@ -575,7 +575,7 @@ fuelgauge: max17048@36 {
 >              maxim,rcomp = /bits/ 8 <0x4d>;
 >
 >              interrupt-parent = <&msmgpio>;
 > -            interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
 > +            interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
 >
 >              pinctrl-names = "default";
 >              pinctrl-0 = <&fuelgauge_pin>;

According to the datasheet for max17048 the ALRT pin is active low, so that
looks good. The reason it was implemented EDGE_FALLING is mostly due to
fragments taken from downstream, and the fact that it worked :)

Acked-by: Iskren Chernev <iskren.chernev@gmail.com>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [RFC 18/18] power: supply: max17040: Do not enforce (incorrect) interrupt trigger type
  2020-12-11  7:47   ` Krzysztof Kozlowski
@ 2020-12-11 15:44     ` Iskren Chernev
  2020-12-11 15:51       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 30+ messages in thread
From: Iskren Chernev @ 2020-12-11 15:44 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Chanwoo Choi, Bartlomiej Zolnierkiewicz,
	Michael Turquette, Stephen Boyd, Rob Herring, Lee Jones,
	Sebastian Reichel, Liam Girdwood, Mark Brown, Andy Gross,
	Bjorn Andersson, Alessandro Zummo, Alexandre Belloni,
	linux-kernel, linux-clk, devicetree, linux-pm, linux-arm-kernel,
	linux-samsung-soc, linux-arm-msm, linux-rtc
  Cc: Matheus Castello, Sebastian Krzyszkowiak, Angus Ainslie, Hans de Goede


On 12/11/20 9:47 AM, Krzysztof Kozlowski wrote:
 > On Thu, Dec 10, 2020 at 10:25:34PM +0100, Krzysztof Kozlowski wrote:
 >> 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 14577/77836 datasheets describe the interrupt line as active
 >> low with a requirement of acknowledge from the CPU therefore the edge
 >> falling is not correct.
 >>
 >> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
 >>
 >> ---
 >>
 >> This patch should wait till DTS changes are merged, as it relies on
 >> proper Devicetree.
 >> ---
 >> .../devicetree/bindings/power/supply/max17040_battery.txt       | 2 +-
 >> drivers/power/supply/max17040_battery.c                         | 2 +-
 >>  2 files changed, 2 insertions(+), 2 deletions(-)
 >>
 >> diff --git 
a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt 
b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
 >> index c802f664b508..194eb9fe574d 100644
 >> --- 
a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
 >> +++ 
b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
 >> @@ -39,7 +39,7 @@ Example:
 >>          reg = <0x36>;
 >>          maxim,alert-low-soc-level = <10>;
 >>          interrupt-parent = <&gpio7>;
 >> -        interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
 >> +        interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 >>          wakeup-source;
 >>      };
 >>
 >> diff --git a/drivers/power/supply/max17040_battery.c 
b/drivers/power/supply/max17040_battery.c
 >> index d956c67d5155..f737de0470de 100644
 >> --- a/drivers/power/supply/max17040_battery.c
 >> +++ b/drivers/power/supply/max17040_battery.c
 >> @@ -367,7 +367,7 @@ static int max17040_enable_alert_irq(struct 
max17040_chip *chip)
 >>
 >>      flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
 >
 > This has to be removed. I will fix it in v2.
 >
 > Best regards,
 > Krzysztof

I removed the IRQF_TRIGGER_FALLING, tweaked the DT as per the DT patch, and
it worked on the samsung klte.

I don't understand how the DT irq flag ends up being used by the kernel. It
is never explicitly read from DT or passed to interrupt API, only i2c->irq,
which is a pure int.

Fixing the DT and the drivers will hopefully set a precedent, so future
drivers (when copied/tweaked from existing drivers) will do it right.

Acked-by: Iskren Chernev <iskren.chernev@gmail.com>

 >>      ret = devm_request_threaded_irq(&client->dev, client->irq, NULL,
 >> -                    max17040_thread_handler, flags,
 >> +                    max17040_thread_handler, IRQF_ONESHOT,
 >>                      chip->battery->desc->name, chip);
 >>
 >>      return ret;
 >> --
 >> 2.25.1
 >>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [RFC 18/18] power: supply: max17040: Do not enforce (incorrect) interrupt trigger type
  2020-12-11 15:44     ` Iskren Chernev
@ 2020-12-11 15:51       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-11 15:51 UTC (permalink / raw)
  To: Iskren Chernev
  Cc: Chanwoo Choi, Bartlomiej Zolnierkiewicz, Michael Turquette,
	Stephen Boyd, Rob Herring, Lee Jones, Sebastian Reichel,
	Liam Girdwood, Mark Brown, Andy Gross, Bjorn Andersson,
	Alessandro Zummo, Alexandre Belloni, linux-kernel, linux-clk,
	devicetree, linux-pm, linux-arm-kernel, linux-samsung-soc,
	linux-arm-msm, linux-rtc, Matheus Castello,
	Sebastian Krzyszkowiak, Angus Ainslie, Hans de Goede

On Fri, Dec 11, 2020 at 05:44:26PM +0200, Iskren Chernev wrote:
> 
> On 12/11/20 9:47 AM, Krzysztof Kozlowski wrote:
> > On Thu, Dec 10, 2020 at 10:25:34PM +0100, Krzysztof Kozlowski wrote:
> >> 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 14577/77836 datasheets describe the interrupt line as active
> >> low with a requirement of acknowledge from the CPU therefore the edge
> >> falling is not correct.
> >>
> >> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> >>
> >> ---
> >>
> >> This patch should wait till DTS changes are merged, as it relies on
> >> proper Devicetree.
> >> ---
> >> .../devicetree/bindings/power/supply/max17040_battery.txt       | 2 +-
> >> drivers/power/supply/max17040_battery.c                         | 2 +-
> >>  2 files changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git
> a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
> b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
> >> index c802f664b508..194eb9fe574d 100644
> >> --- a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
> >> +++ b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
> >> @@ -39,7 +39,7 @@ Example:
> >>          reg = <0x36>;
> >>          maxim,alert-low-soc-level = <10>;
> >>          interrupt-parent = <&gpio7>;
> >> -        interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> >> +        interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> >>          wakeup-source;
> >>      };
> >>
> >> diff --git a/drivers/power/supply/max17040_battery.c
> b/drivers/power/supply/max17040_battery.c
> >> index d956c67d5155..f737de0470de 100644
> >> --- a/drivers/power/supply/max17040_battery.c
> >> +++ b/drivers/power/supply/max17040_battery.c
> >> @@ -367,7 +367,7 @@ static int max17040_enable_alert_irq(struct
> max17040_chip *chip)
> >>
> >>      flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
> >
> > This has to be removed. I will fix it in v2.
> >
> > Best regards,
> > Krzysztof
> 
> I removed the IRQF_TRIGGER_FALLING, tweaked the DT as per the DT patch, and
> it worked on the samsung klte.
> 
> I don't understand how the DT irq flag ends up being used by the kernel. It
> is never explicitly read from DT or passed to interrupt API, only i2c->irq,
> which is a pure int.

The core __setup_irq() calls irqd_get_trigger_type() on IRQ data
matching the IRQ.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [RFC 13/18] mfd: max77686: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 ` [RFC 13/18] mfd: max77686: Do not enforce (incorrect) interrupt trigger type Krzysztof Kozlowski
@ 2020-12-21 18:45   ` Rob Herring
  0 siblings, 0 replies; 30+ messages in thread
From: Rob Herring @ 2020-12-21 18:45 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Andy Gross, Michael Turquette, linux-kernel, Angus Ainslie,
	Chanwoo Choi, Bjorn Andersson, Rob Herring, Matheus Castello,
	linux-arm-kernel, Mark Brown, Iskren Chernev, Hans de Goede,
	Alessandro Zummo, linux-clk, linux-pm, linux-arm-msm,
	Bartlomiej Zolnierkiewicz, linux-rtc, Alexandre Belloni,
	Lee Jones, Sebastian Reichel, devicetree, Liam Girdwood,
	linux-samsung-soc, Sebastian Krzyszkowiak, Stephen Boyd

On Thu, 10 Dec 2020 22:25:29 +0100, Krzysztof Kozlowski wrote:
> 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>
> 
> ---
> 
> This patch should wait till DTS changes are merged, as it relies on
> proper Devicetree.
> ---
>  Documentation/devicetree/bindings/clock/maxim,max77686.txt | 4 ++--
>  Documentation/devicetree/bindings/mfd/max77686.txt         | 2 +-
>  Documentation/devicetree/bindings/regulator/max77686.txt   | 2 +-
>  drivers/mfd/max77686.c                                     | 3 +--
>  4 files changed, 5 insertions(+), 6 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [RFC 15/18] mfd: max77693: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 ` [RFC 15/18] mfd: max77693: " Krzysztof Kozlowski
@ 2020-12-21 18:46   ` Rob Herring
  0 siblings, 0 replies; 30+ messages in thread
From: Rob Herring @ 2020-12-21 18:46 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Liam Girdwood, Bjorn Andersson, Chanwoo Choi, linux-arm-msm,
	Andy Gross, Angus Ainslie, Stephen Boyd, devicetree,
	Hans de Goede, linux-kernel, Mark Brown, linux-rtc,
	Iskren Chernev, Lee Jones, Rob Herring, Sebastian Reichel,
	Matheus Castello, linux-clk, linux-samsung-soc,
	Michael Turquette, Bartlomiej Zolnierkiewicz, linux-pm,
	Alexandre Belloni, Sebastian Krzyszkowiak, linux-arm-kernel,
	Alessandro Zummo

On Thu, 10 Dec 2020 22:25:31 +0100, Krzysztof Kozlowski wrote:
> 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 77693 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>
> 
> ---
> 
> This patch should wait till DTS changes are merged, as it relies on
> proper Devicetree.
> ---
>  Documentation/devicetree/bindings/mfd/max77693.txt |  2 +-
>  drivers/mfd/max77693.c                             | 12 ++++--------
>  2 files changed, 5 insertions(+), 9 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [RFC 17/18] mfd: max14577: Do not enforce (incorrect) interrupt trigger type
  2020-12-10 21:25 ` [RFC 17/18] mfd: max14577: " Krzysztof Kozlowski
@ 2020-12-21 18:47   ` Rob Herring
  0 siblings, 0 replies; 30+ messages in thread
From: Rob Herring @ 2020-12-21 18:47 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Bartlomiej Zolnierkiewicz, devicetree, linux-rtc,
	linux-samsung-soc, Rob Herring, linux-clk, Alexandre Belloni,
	Chanwoo Choi, Alessandro Zummo, linux-kernel, Sebastian Reichel,
	Matheus Castello, Stephen Boyd, Sebastian Krzyszkowiak,
	Iskren Chernev, Andy Gross, linux-arm-msm, Hans de Goede,
	Mark Brown, Lee Jones, Angus Ainslie, Michael Turquette,
	Bjorn Andersson, linux-pm, Liam Girdwood, linux-arm-kernel

On Thu, 10 Dec 2020 22:25:33 +0100, Krzysztof Kozlowski wrote:
> 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 14577/77836 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 charger 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>
> 
> ---
> 
> This patch should wait till DTS changes are merged, as it relies on
> proper Devicetree.
> ---
>  Documentation/devicetree/bindings/mfd/max14577.txt | 4 ++--
>  drivers/mfd/max14577.c                             | 6 +++---
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 03/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family
  2020-12-10 21:25 ` [PATCH 03/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family Krzysztof Kozlowski
@ 2020-12-29 15:43   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2020-12-29 15:43 UTC (permalink / raw)
  To: Chanwoo Choi, Bartlomiej Zolnierkiewicz, Michael Turquette,
	Stephen Boyd, Rob Herring, Lee Jones, Sebastian Reichel,
	Liam Girdwood, Mark Brown, Andy Gross, Bjorn Andersson,
	Alessandro Zummo, Alexandre Belloni, linux-kernel, linux-clk,
	devicetree, linux-pm, linux-arm-kernel, linux-samsung-soc,
	linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

On Thu, Dec 10, 2020 at 10:25:19PM +0100, Krzysztof Kozlowski wrote:
> The Maxim fuel gauge datasheets describe the interrupt line as active
> low with a requirement of acknowledge from the CPU.  The falling edge
> interrupt will mostly work but it's not correct.
> 
> Fixes: e8614292cd41 ("ARM: dts: Add Maxim 77693 fuel gauge node for exynos4412-trats2")
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
>  arch/arm/boot/dts/exynos4412-midas.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Hi Marek,

I remember you were reporting that on Trats2 you see fuel gauge
interrupt storm with this patchset. Is it correct? Shall I wait with
applying this?

Best regards,
Krzysztof

> diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi
> index 111c32bae02c..b8b75dc81aa1 100644
> --- a/arch/arm/boot/dts/exynos4412-midas.dtsi
> +++ b/arch/arm/boot/dts/exynos4412-midas.dtsi
> @@ -221,7 +221,7 @@ i2c_max77693_fuel: i2c-gpio-3 {
>  		fuel-gauge@36 {
>  			compatible = "maxim,max17047";
>  			interrupt-parent = <&gpx2>;
> -			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
> +			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&max77693_fuel_irq>;
>  			reg = <0x36>;
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100
  2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
                   ` (16 preceding siblings ...)
  2020-12-10 21:25 ` [RFC 18/18] power: supply: max17040: " Krzysztof Kozlowski
@ 2021-03-03 18:19 ` Krzysztof Kozlowski
  17 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2021-03-03 18:19 UTC (permalink / raw)
  To: Chanwoo Choi, Bartlomiej Zolnierkiewicz, Michael Turquette,
	Stephen Boyd, Rob Herring, Lee Jones, Sebastian Reichel,
	Liam Girdwood, Mark Brown, Andy Gross, Bjorn Andersson,
	Alessandro Zummo, Alexandre Belloni, linux-kernel, linux-clk,
	devicetree, linux-pm, linux-arm-kernel, linux-samsung-soc,
	linux-arm-msm, linux-rtc
  Cc: Iskren Chernev, Matheus Castello, Sebastian Krzyszkowiak,
	Angus Ainslie, Hans de Goede

On Thu, Dec 10, 2020 at 10:25:17PM +0100, Krzysztof Kozlowski wrote:
> The Maxim fuel gauge datasheets describe the interrupt line as active
> low with a requirement of acknowledge from the CPU.  The falling edge
> interrupt will mostly work but it's not correct.
> 
> Fixes: 8620cc2f99b7 ("ARM: dts: exynos: Add devicetree file for the Galaxy S2")
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
>  arch/arm/boot/dts/exynos4210-i9100.dts | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Applied 1-10 (Exynos and S5P dts patches).

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2021-03-03 20:58 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-10 21:25 [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 02/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on P4 Note family Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 03/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family Krzysztof Kozlowski
2020-12-29 15:43   ` Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 04/18] ARM: dts: exynos: correct MUIC " Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 05/18] ARM: dts: exynos: correct PMIC " Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 06/18] ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 07/18] ARM: dts: exynos: correct PMIC interrupt trigger level on P4 Note family Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 08/18] ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250 Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 09/18] ARM: dts: exynos: correct PMIC interrupt trigger level on Snow Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 10/18] ARM: dts: s5pv210: correct fuel gauge interrupt trigger level on Fascinate family Krzysztof Kozlowski
2020-12-10 21:25 ` [PATCH 11/18] ARM: dts: qcom: msm8974-lge-nexus5: correct fuel gauge interrupt trigger level Krzysztof Kozlowski
2020-12-11 15:29   ` Iskren Chernev
2020-12-10 21:25 ` [PATCH 12/18] ARM: dts: qcom: msm8974-samsung-klte: " Krzysztof Kozlowski
2020-12-11 15:25   ` Iskren Chernev
2020-12-10 21:25 ` [RFC 13/18] mfd: max77686: Do not enforce (incorrect) interrupt trigger type Krzysztof Kozlowski
2020-12-21 18:45   ` Rob Herring
2020-12-10 21:25 ` [RFC 14/18] rtc: " Krzysztof Kozlowski
2020-12-10 21:25 ` [RFC 15/18] mfd: max77693: " Krzysztof Kozlowski
2020-12-21 18:46   ` Rob Herring
2020-12-10 21:25 ` [RFC 16/18] power: supply: max17042: " Krzysztof Kozlowski
2020-12-10 21:25 ` [RFC 17/18] mfd: max14577: " Krzysztof Kozlowski
2020-12-21 18:47   ` Rob Herring
2020-12-10 21:25 ` [RFC 18/18] power: supply: max17040: " Krzysztof Kozlowski
2020-12-10 22:16   ` Sebastian Reichel
2020-12-11  7:52     ` Krzysztof Kozlowski
2020-12-11  7:47   ` Krzysztof Kozlowski
2020-12-11 15:44     ` Iskren Chernev
2020-12-11 15:51       ` Krzysztof Kozlowski
2021-03-03 18:19 ` [PATCH 01/18] ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 Krzysztof Kozlowski

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).