} else if ((loops_per_jiffy = calibrate_delay_direct()) != 0) { printk("Calibrating delay using timer specific routine.. "); printk("%lu.%02lu BogoMIPS (lpj=%lu)\n", loops_per_jiffy/(500000/HZ), (loops_per_jiffy/(5000/HZ)) % 100, loops_per_jiffy); 
void __devinit calibrate_delay(void){	unsigned long ticks, loopbit;	int lps_precision = LPS_PREC;	if (preset_lpj) {		loops_per_jiffy = preset_lpj;		printk("Calibrating delay loop (skipped)... "			"%lu.%02lu BogoMIPS preset\n",			loops_per_jiffy/(500000/HZ),			(loops_per_jiffy/(5000/HZ)) % 100);	} else {		loops_per_jiffy = (1<<12);		printk(KERN_DEBUG "Calibrating delay loop... ");		while ((loops_per_jiffy <<= 1) != 0) {			/* wait for "start of" clock tick */			ticks = jiffies;			while (ticks == jiffies)				/* nothing */;			/* Go .. */			ticks = jiffies;			__delay(loops_per_jiffy);			ticks = jiffies - ticks;			if (ticks)				break;		}		/*		 * Do a binary approximation to get loops_per_jiffy set to		 * equal one clock (up to lps_precision bits)		 */		loops_per_jiffy >>= 1;		loopbit = loops_per_jiffy;		while (lps_precision-- && (loopbit >>= 1)) {			loops_per_jiffy |= loopbit;			ticks = jiffies;			while (ticks == jiffies)				/* nothing */;			ticks = jiffies;			__delay(loops_per_jiffy);			if (jiffies != ticks)	/* longer than 1 tick */				loops_per_jiffy &= ~loopbit;		}		/* Round the value and print it */		printk("%lu.%02lu BogoMIPS (lpj=%lu)\n",			loops_per_jiffy/(500000/HZ),			(loops_per_jiffy/(5000/HZ)) % 100,			loops_per_jiffy);	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/8a9e1b0f564615bd92ba50162623e25c2904e564/calibrate.c/clean/init/calibrate.c