diff mbox series

[v2,1/2] Revert "ARM: dts: armada-38x: Fix compatible string for gpios"

Message ID 20230107144149.5743-1-klaus.kudielka@gmail.com
State Accepted
Commit 75b58cf5ce21650c1b3b88d8310f3415ce905018
Headers show
Series [v2,1/2] Revert "ARM: dts: armada-38x: Fix compatible string for gpios" | expand

Commit Message

Klaus Kudielka Jan. 7, 2023, 2:41 p.m. UTC
This reverts commit c4de4667f15d04ef5920bacf41e514ec7d1ef03d, which causes
a regression on Turris Omnia (Armada 385): GPIO interrupts cease to work,
ending up in the DSA switch being non-functional.

The blamed commit is incorrect in the first place:
If compatible = "marvell,armadaxp-gpio", the second (address, size) pair
of the reg property must to point to the per-CPU interrupt registers
<0x18800 0x30> / <0x18840 0x30>, and not to the blink enable registers
<0x181c0 0x08> / <0x181c8 0x08>.

But even fixing that leaves the GPIO interrupts broken on the Omnia.

Furthermore:
Commit 5f79c651e81e explains very well, why the gpio-mvebu driver does not
work reliably with per-CPU interrupts.
Commit 988c8c0cd04d deprecates compatible = marvell,armadaxp-gpio for this
reason.

Fixes: c4de4667f15d ("ARM: dts: armada-38x: Fix compatible string for gpios")
Reported-by: Klaus Kudielka <klaus.kudielka@gmail.com>
Link: https://lore.kernel.org/r/f24474e70c1a4e9692bd596ef6d97ceda9511245.camel@gmail.com/

Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
---
v1->v2: Be more explicit about the regression, and about the reg property.

 arch/arm/boot/dts/armada-38x.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Pali Rohár Jan. 14, 2023, 3:58 p.m. UTC | #1
On Saturday 07 January 2023 18:18:24 Andrew Lunn wrote:
> On Sat, Jan 07, 2023 at 03:41:48PM +0100, Klaus Kudielka wrote:
> > This reverts commit c4de4667f15d04ef5920bacf41e514ec7d1ef03d, which causes
> > a regression on Turris Omnia (Armada 385): GPIO interrupts cease to work,
> > ending up in the DSA switch being non-functional.
> > 
> > The blamed commit is incorrect in the first place:
> > If compatible = "marvell,armadaxp-gpio", the second (address, size) pair
> > of the reg property must to point to the per-CPU interrupt registers
> > <0x18800 0x30> / <0x18840 0x30>, and not to the blink enable registers
> > <0x181c0 0x08> / <0x181c8 0x08>.
> > 
> > But even fixing that leaves the GPIO interrupts broken on the Omnia.
> > 
> > Furthermore:
> > Commit 5f79c651e81e explains very well, why the gpio-mvebu driver does not
> > work reliably with per-CPU interrupts.
> > Commit 988c8c0cd04d deprecates compatible = marvell,armadaxp-gpio for this
> > reason.
> > 
> > Fixes: c4de4667f15d ("ARM: dts: armada-38x: Fix compatible string for gpios")
> > Reported-by: Klaus Kudielka <klaus.kudielka@gmail.com>
> > Link: https://lore.kernel.org/r/f24474e70c1a4e9692bd596ef6d97ceda9511245.camel@gmail.com/
> > 
> > Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
> 
> Hi Klaus
> 
> I was hoping Pali would comment, maybe fix it. But i think enough time
> has passed, we should accept your reverts.

Well, enough time for sure has not passed as I'm waiting for other
reviews and comments for more than half of year, reminding them, and
there is no input. So why should I react quickly in few days?

And why should fix it? Just prepare another patch and wait another year
until somebody notice it and merge it? I really do not have motivation
here. I have already spent too much time on this stuff, sent lot of
changes for which nobody cares.

> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> 
>     Andrew
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
index 12933eff41..446861b6b1 100644
--- a/arch/arm/boot/dts/armada-38x.dtsi
+++ b/arch/arm/boot/dts/armada-38x.dtsi
@@ -304,7 +304,7 @@  spdif_pins: spdif-pins {
 			};
 
 			gpio0: gpio@18100 {
-				compatible = "marvell,armadaxp-gpio",
+				compatible = "marvell,armada-370-gpio",
 					     "marvell,orion-gpio";
 				reg = <0x18100 0x40>, <0x181c0 0x08>;
 				reg-names = "gpio", "pwm";
@@ -323,7 +323,7 @@  gpio0: gpio@18100 {
 			};
 
 			gpio1: gpio@18140 {
-				compatible = "marvell,armadaxp-gpio",
+				compatible = "marvell,armada-370-gpio",
 					     "marvell,orion-gpio";
 				reg = <0x18140 0x40>, <0x181c8 0x08>;
 				reg-names = "gpio", "pwm";