Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e496453d authored by Maciej W. Rozycki's avatar Maciej W. Rozycki Committed by Ralf Baechle
Browse files

MIPS: __delay ABI-dependent subtraction simplification



This small update to the previous fix to __delay removes a conditional
around the ABI-dependent subtraction operation within an inline asm in
favor to the standard <asm/asm.h> LONG_SUBU macro.  No change in code
produced.

Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/6703/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 06947aaa
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -11,7 +11,9 @@
#include <linux/module.h>
#include <linux/param.h>
#include <linux/smp.h>
#include <linux/stringify.h>

#include <asm/asm.h>
#include <asm/compiler.h>
#include <asm/war.h>

@@ -27,11 +29,7 @@ void __delay(unsigned long loops)
	"	.set	noreorder				\n"
	"	.align	3					\n"
	"1:	bnez	%0, 1b					\n"
#if BITS_PER_LONG == 32
	"	subu	%0, %1					\n"
#else
	"	dsubu	%0, %1					\n"
#endif
	"	 " __stringify(LONG_SUBU) "	%0, %1		\n"
	"	.set	reorder					\n"
	: "=r" (loops)
	: GCC_DADDI_IMM_ASM() (1), "0" (loops));