[PATCH] powerpc: remove WATCHDOG_RESET call from wait_ticks()

Rasmus Villemoes rasmus.villemoes at prevas.dk
Mon Mar 16 22:23:37 CET 2020

wait_ticks() is only used by the ppc-specific __udelay()
function. Having the powerpc version of __udelay implicitly call
WATCHDOG_RESET() is inconsistent with other architectures' (and the
generic __udelay() in lib/time.c) implementations. It also means a
driver cannot use __udelay() as the raw primitive it is supposed to be
- e.g. a watchdog driver that needs to do a short delay between two
operations needed to perform a ping sequence.

There are not that many __udelay() calls, so I doubt this causes a
regression for anyone. Callers of udelay() are not affected, since
udelay() itself does one WATCHDOG_RESET() per __udelay() call.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
 arch/powerpc/lib/ticks.S | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/powerpc/lib/ticks.S b/arch/powerpc/lib/ticks.S
index c487f938fa..f4410bbc3a 100644
--- a/arch/powerpc/lib/ticks.S
+++ b/arch/powerpc/lib/ticks.S
@@ -42,7 +42,6 @@ wait_ticks:
 	addc    r14, r4, r14	/* Compute end time lower */
 	addze	r15, r3		/*     and end time upper */
-	WATCHDOG_RESET		/* Trigger watchdog, if needed */
 1:	bl	get_ticks	/* Get current time */
 	subfc	r4, r4, r14	/* Subtract current time from end time */
 	subfe.	r3, r3, r15

More information about the U-Boot mailing list