| 
									
										
										
										
											2005-05-20 13:59:08 -07:00
										 |  |  | #include <linux/module.h>
 | 
					
						
							|  |  |  | #include <linux/kernel.h>
 | 
					
						
							|  |  |  | #include <linux/delay.h>
 | 
					
						
							|  |  |  | #include <asm/param.h>
 | 
					
						
							| 
									
										
										
										
											2005-05-05 16:15:37 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | void __delay(unsigned long time) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	/* Stolen from the i386 __loop_delay */ | 
					
						
							|  |  |  | 	int d0; | 
					
						
							|  |  |  | 	__asm__ __volatile__( | 
					
						
							|  |  |  | 		"\tjmp 1f\n" | 
					
						
							|  |  |  | 		".align 16\n" | 
					
						
							|  |  |  | 		"1:\tjmp 2f\n" | 
					
						
							|  |  |  | 		".align 16\n" | 
					
						
							|  |  |  | 		"2:\tdecl %0\n\tjns 2b" | 
					
						
							|  |  |  | 		:"=&a" (d0) | 
					
						
							|  |  |  | 		:"0" (time)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-05-05 16:15:37 -07:00
										 |  |  | void __udelay(unsigned long usecs) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	int i, n; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	n = (loops_per_jiffy * HZ * usecs) / MILLION; | 
					
						
							| 
									
										
										
										
											2005-05-20 13:59:08 -07:00
										 |  |  |         for(i=0;i<n;i++) | 
					
						
							|  |  |  |                 cpu_relax(); | 
					
						
							| 
									
										
										
										
											2005-05-05 16:15:37 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-05-20 13:59:08 -07:00
										 |  |  | EXPORT_SYMBOL(__udelay); |