| /* |
| * Copyright 2003 PathScale, Inc. |
| * Copied from arch/x86_64 |
| * |
| * Licensed under the GPL |
| */ |
| |
| #include <linux/module.h> |
| #include <linux/delay.h> |
| #include <asm/processor.h> |
| #include <asm/param.h> |
| |
| void __delay(unsigned long loops) |
| { |
| unsigned long i; |
| |
| for(i = 0; i < loops; i++) |
| cpu_relax(); |
| } |
| |
| void __udelay(unsigned long usecs) |
| { |
| unsigned long i, n; |
| |
| n = (loops_per_jiffy * HZ * usecs) / MILLION; |
| for(i=0;i<n;i++) |
| cpu_relax(); |
| } |
| |
| EXPORT_SYMBOL(__udelay); |
| |
| void __const_udelay(unsigned long usecs) |
| { |
| unsigned long i, n; |
| |
| n = (loops_per_jiffy * HZ * usecs) / MILLION; |
| for(i=0;i<n;i++) |
| cpu_relax(); |
| } |
| |
| EXPORT_SYMBOL(__const_udelay); |