2.6内核的ndelay函数是不是不具备相应的特性?解决方案

2.6内核的ndelay函数是不是不具备相应的特性?
#ifndef ndelay
#define ndelay(x) udelay(((x)+999)/1000)

从这个代码来看,ndelay取值在1~1000时候,udelay(1999/1000)=udelay(1)
就是说ndealy延时设定X=1~1000ns,其实只是等于延时1us.不管你设定ndelay(500)还是ndelay(1000)。


------解决方案--------------------
貌似这种问题也遇到过哦,在boot中,然后我是做了个循环,多加几次延时
------解决方案--------------------
本来在Linux做ns级的延迟就是不精确的