summaryrefslogtreecommitdiffstats
path: root/include/asm-mips/delay.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-mips/delay.h')
-rw-r--r--include/asm-mips/delay.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/include/asm-mips/delay.h b/include/asm-mips/delay.h
index 4030aa6fd..7628fe4a8 100644
--- a/include/asm-mips/delay.h
+++ b/include/asm-mips/delay.h
@@ -36,12 +36,12 @@ __delay(unsigned long loops)
*/
extern __inline__ void __udelay(unsigned long usecs, unsigned long lps)
{
+ unsigned long lo;
+
usecs *= 0x000010c6; /* 2**32 / 1000000 */
- __asm__("multu\t%0,%2\n\t"
- "mfhi\t%0"
- :"=r" (usecs)
- :"0" (usecs),"r" (lps)
- :"hi", "lo");
+ __asm__("multu\t%2,%3"
+ :"=h" (usecs), "=l" (lo)
+ :"r" (usecs),"r" (lps));
__delay(usecs);
}