#ifndef _LINUX_DELAY_H #define _LINUX_DELAY_H /* * Copyright (C) 1993 Linus Torvalds * * Delay routines, using a pre-computed "loops_per_jiffy" value. */ #include extern unsigned long loops_per_jiffy; #include #ifndef MAX_UDELAY_MS #define MAX_UDELAY_MS 5 #endif #ifndef mdelay #define mdelay(n) (\ (__builtin_constant_p(n) && (n)<=MAX_UDELAY_MS) ? udelay((n)*1000) : \ ({unsigned long __ms=(n); while (__ms--) udelay(1000);})) #endif #ifndef ndelay static inline void ndelay(unsigned long x) { udelay(DIV_ROUND_UP(x, 1000)); } #define ndelay(x) ndelay(x) #endif extern unsigned long lpj_fine; void calibrate_delay(void); void msleep(unsigned int msecs); unsigned long msleep_interruptible(unsigned int msecs); void hr_msleep(unsigned int msecs); unsigned long hr_msleep_interruptible(unsigned int msecs); void usleep_range(unsigned long min, unsigned long max); static inline void usleep(unsigned long usecs) { usleep_range(usecs, usecs); } static inline void ssleep(unsigned int seconds) { msleep(seconds * 1000); } #endif