summaryrefslogtreecommitdiffstats
path: root/arch/arc/include
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2016-11-23 17:43:17 -0800
committerVineet Gupta <vgupta@synopsys.com>2016-11-28 09:17:32 -0800
commit3c7c7a2fc8811bc7097479f69acf2527693d7562 (patch)
tree2407907f410400d4dc6866f8062b7536ab78ac52 /arch/arc/include
parente5517c2a5a49ed5e99047008629f1cd60246ea0e (diff)
downloadlinux-stable-3c7c7a2fc8811bc7097479f69acf2527693d7562.tar.gz
linux-stable-3c7c7a2fc8811bc7097479f69acf2527693d7562.tar.bz2
linux-stable-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>
Diffstat (limited to 'arch/arc/include')
-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);