[PATCH 4.8 05/35] ARC: Dont use "+l" inline asm constraint

From: Greg Kroah-Hartman
Date: Wed Dec 07 2016 - 02:10:30 EST


4.8-stable review patch. If anyone has any objections, please let me know.

------------------

From: Vineet Gupta <vgupta@xxxxxxxxxxxx>

commit 3c7c7a2fc8811bc7097479f69acf2527693d7562 upstream.

Apparenty this is coming in the way of gcc fix which inhibits the usage
of LP_COUNT as a gpr.

Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
arch/arc/include/asm/delay.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

--- a/arch/arc/include/asm/delay.h
+++ b/arch/arc/include/asm/delay.h
@@ -22,10 +22,11 @@
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);