Oh sorry, I was thinking about usleep... So in fact that's true, you must use the good delay function, depending on the time you want to sleep: ndelay for ns, udelay for us and mdealy for ms scale, so use "mdelay (2)" instead. BUT it's a busy waiting, that means that noting else can be done during this time, you'd better use (if possible) one of the "sleep" family functions. look here:
http://lwn.net/Kernel/LDD3/ chapter 7