nanosleep() calls udelay() which in turn only has 1 microsecond
resolution.
Therefore I tried to find udelay(). Was a bit tricky as it's in a
include file. Well I saw that udelay uses delay() in turn, and that
uses loops_per_sec. All old news you'd say, so far.
Then I wondered who sets loops_per_sec, and I found out that a _lot_
of code uses loops_per_sec directly to call delay(). As I think
udelay() is rather new in Linux, I'd suggest to modify the obsolete
code to use udelay() (unless a delay shorter than 1 microsecond is
used).
Ulrich
P.S. Sorry, no patch...