ARC: Don't use "+l" inline asm constraint
authorVineet Gupta <vgupta@synopsys.com>
Thu, 24 Nov 2016 01:43:17 +0000 (17:43 -0800)
committerVineet Gupta <vgupta@synopsys.com>
Mon, 28 Nov 2016 17:17:32 +0000 (09:17 -0800)
Apparenty this is coming in the way of gcc fix which inhibits the usage
of LP_COUNT as a gpr.

Cc: stable@vger.kernel.org
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/delay.h

index 08e7e2a..a36e860 100644 (file)
 static inline void __delay(unsigned long loops)
 {
        __asm__ __volatile__(
-       "       lp  1f  \n"
-       "       nop     \n"
-       "1:             \n"
-       : "+l"(loops));
+       "       mov lp_count, %0        \n"
+       "       lp  1f                  \n"
+       "       nop                     \n"
+       "1:                             \n"
+       : : "r"(loops));
 }
 
 extern void __bad_udelay(void);