ath79: kernel: drop _machine_restart again
authorLech Perczak <lech.perczak@gmail.com>
Mon, 10 Jan 2022 23:13:02 +0000 (00:13 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Sat, 5 Feb 2022 11:08:25 +0000 (12:08 +0100)
Backport patch ("MIPS: ath79: drop _machine_restart again"), which is
required to support GPIO restart handler on ZTE MF286, broken due to
_machine_restart being restored in kernel accidentally, wich causes any
registered restart handlers to not execute, including one from
ath79-reset driver.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
target/linux/generic/backport-5.10/860-v5.17-MIPS-ath79-drop-_machine_restart-again.patch [new file with mode: 0644]

diff --git a/target/linux/generic/backport-5.10/860-v5.17-MIPS-ath79-drop-_machine_restart-again.patch b/target/linux/generic/backport-5.10/860-v5.17-MIPS-ath79-drop-_machine_restart-again.patch
new file mode 100644 (file)
index 0000000..28c69e3
--- /dev/null
@@ -0,0 +1,54 @@
+From d3115128bdafb62628ab41861a4f06f6d02ac320 Mon Sep 17 00:00:00 2001
+From: Lech Perczak <lech.perczak@gmail.com>
+Date: Mon, 10 Jan 2022 23:48:44 +0100
+Subject: MIPS: ath79: drop _machine_restart again
+
+Commit 81424d0ad0d4 ("MIPS: ath79: Use the reset controller to restart
+OF machines") removed setup of _machine_restart on OF machines to use
+reset handler in reset controller driver.
+While removing remnants of non-OF machines in commit 3a77e0d75eed
+("MIPS: ath79: drop machfiles"), this was introduced again, making it
+impossible to use additional restart handlers registered through device
+tree. Drop setting _machine_restart altogether, and ath79_restart
+function, which is no longer used after this.
+
+Fixes: 3a77e0d75eed ("MIPS: ath79: drop machfiles")
+Cc: John Crispin <john@phrozen.org>
+Cc: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
+Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
+---
+ arch/mips/ath79/setup.c | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
+index 891f495c4c3c01..0ac435fe2dc9aa 100644
+--- a/arch/mips/ath79/setup.c
++++ b/arch/mips/ath79/setup.c
+@@ -34,15 +34,6 @@
+ static char ath79_sys_type[ATH79_SYS_TYPE_LEN];
+-static void ath79_restart(char *command)
+-{
+-      local_irq_disable();
+-      ath79_device_reset_set(AR71XX_RESET_FULL_CHIP);
+-      for (;;)
+-              if (cpu_wait)
+-                      cpu_wait();
+-}
+-
+ static void ath79_halt(void)
+ {
+       while (1)
+@@ -234,7 +225,6 @@ void __init plat_mem_setup(void)
+       detect_memory_region(0, ATH79_MEM_SIZE_MIN, ATH79_MEM_SIZE_MAX);
+-      _machine_restart = ath79_restart;
+       _machine_halt = ath79_halt;
+       pm_power_off = ath79_halt;
+ }
+-- 
+cgit 
+