[PATCH 4.4 01/13] ARC: Dont use "+l" inline asm constraint

2016-12-06 Thread Greg Kroah-Hartman
4.4-stable review patch.  If anyone has any objections, please let me know.

--

From: Vineet Gupta 

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 
Signed-off-by: Greg Kroah-Hartman 

---
 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);




[PATCH 4.4 01/13] ARC: Dont use "+l" inline asm constraint

2016-12-06 Thread Greg Kroah-Hartman
4.4-stable review patch.  If anyone has any objections, please let me know.

--

From: Vineet Gupta 

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 
Signed-off-by: Greg Kroah-Hartman 

---
 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);