[PATCH] MIPS: __delay ABI-dependent subtraction simplification

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
---
Here again checkpatch.pl complains, but I fail to see the point.
linux-mips-delay-str.patch
Index: linux-20140329-4maxp64/arch/mips/lib/delay.c
===================================================================
--- linux-20140329-4maxp64.orig/arch/mips/lib/delay.c
+++ linux-20140329-4maxp64/arch/mips/lib/delay.c
@@ -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));


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux