]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
watchdog: Get rid of ASSEMBLY hacks
authorStefan Roese <sr@denx.de>
Fri, 2 Sep 2022 12:10:47 +0000 (14:10 +0200)
committerStefan Roese <sr@denx.de>
Sun, 18 Sep 2022 08:26:39 +0000 (10:26 +0200)
Only one occurance of WATCHDOG_RESET is left in one assembler file.
This patch changes this occurance to a direct call to watchdog_reset
and then removes all the ASSEMBLY ifdef'ery in watchdog.h, as it's not
needed any more to clean this mess a bit up.

Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Tom Rini <trini@konsulko.com> [am335x_evm, mx6cuboxi, rpi_3,dra7xx_evm, pine64_plus, am65x_evm, j721e_evm]
arch/powerpc/lib/ticks.S
include/watchdog.h

index c487f938fa8d1f12715fb077c1f4e1d258c43363..8647d77cc9ad4590326fcbc335b930781069b8ec 100644 (file)
@@ -9,7 +9,6 @@
 #include <ppc_asm.tmpl>
 #include <ppc_defs.h>
 #include <config.h>
-#include <watchdog.h>
 
 /*
  * unsigned long long get_ticks(void);
@@ -42,7 +41,9 @@ wait_ticks:
        addc    r14, r4, r14    /* Compute end time lower */
        addze   r15, r3         /*     and end time upper */
 
-       WATCHDOG_RESET          /* Trigger watchdog, if needed */
+#if defined(CONFIG_WATCHDOG) || defined(CONFIG_HW_WATCHDOG)
+       bl      schedule        /* Trigger watchdog, if needed */
+#endif
 1:     bl      get_ticks       /* Get current time */
        subfc   r4, r4, r14     /* Subtract current time from end time */
        subfe.  r3, r3, r15
index 7a09346a0959329ba8beee99752c3162e4c3b922..1365b154a2956512d79527f30c2c21b9e2e44b80 100644 (file)
@@ -38,54 +38,36 @@ int init_func_watchdog_reset(void);
  * Hardware watchdog
  */
 #ifdef CONFIG_HW_WATCHDOG
-       #if defined(__ASSEMBLY__)
-               #define WATCHDOG_RESET bl hw_watchdog_reset
-       #else
-               extern void hw_watchdog_reset(void);
+       extern void hw_watchdog_reset(void);
 
-               #define WATCHDOG_RESET hw_watchdog_reset
-       #endif /* __ASSEMBLY__ */
+       #define WATCHDOG_RESET hw_watchdog_reset
 #else
        /*
         * Maybe a software watchdog?
         */
        #if defined(CONFIG_WATCHDOG)
-               #if defined(__ASSEMBLY__)
-                       /* Don't require the watchdog to be enabled in SPL */
-                       #if defined(CONFIG_SPL_BUILD) &&                \
-                               !defined(CONFIG_SPL_WATCHDOG)
-                               #define WATCHDOG_RESET /*XXX DO_NOT_DEL_THIS_COMMENT*/
-                       #else
-                               #define WATCHDOG_RESET bl watchdog_reset
-                       #endif
+               /* Don't require the watchdog to be enabled in SPL */
+               #if defined(CONFIG_SPL_BUILD) &&                \
+                       !defined(CONFIG_SPL_WATCHDOG)
+                       #define WATCHDOG_RESET() { \
+                               cyclic_run(); \
+                       }
                #else
-                       /* Don't require the watchdog to be enabled in SPL */
-                       #if defined(CONFIG_SPL_BUILD) &&                \
-                               !defined(CONFIG_SPL_WATCHDOG)
-                               #define WATCHDOG_RESET() { \
-                                       cyclic_run(); \
-                               }
-                       #else
-                               extern void watchdog_reset(void);
+                       extern void watchdog_reset(void);
 
-                               #define WATCHDOG_RESET() { \
-                                       watchdog_reset(); \
-                                       cyclic_run(); \
-                               }
-                       #endif
+                       #define WATCHDOG_RESET() { \
+                               watchdog_reset(); \
+                               cyclic_run(); \
+                       }
                #endif
        #else
                /*
                 * No hardware or software watchdog.
                 */
-               #if defined(__ASSEMBLY__)
-                       #define WATCHDOG_RESET /*XXX DO_NOT_DEL_THIS_COMMENT*/
-               #else
-                       #define WATCHDOG_RESET() { \
-                               cyclic_run(); \
+               #define WATCHDOG_RESET() { \
+                       cyclic_run(); \
                        }
-               #endif /* __ASSEMBLY__ */
-       #endif /* CONFIG_WATCHDOG && !__ASSEMBLY__ */
+       #endif /* CONFIG_WATCHDOG */
 #endif /* CONFIG_HW_WATCHDOG */
 
 /*