summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2016-11-24 02:43:17 +0100
committerVineet Gupta <vgupta@synopsys.com>2016-11-28 18:17:32 +0100
commit3c7c7a2fc8811bc7097479f69acf2527693d7562 (patch)
tree2407907f410400d4dc6866f8062b7536ab78ac52
parentLinux 4.9-rc7 (diff)
downloadlinux-3c7c7a2fc8811bc7097479f69acf2527693d7562.tar.xz
linux-3c7c7a2fc8811bc7097479f69acf2527693d7562.zip
ARC: Don't use "+l" inline asm constraint
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>
-rw-r--r--arch/arc/include/asm/delay.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arc/include/asm/delay.h b/arch/arc/include/asm/delay.h
index 08e7e2a16ac1..a36e8601114d 100644
--- 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);