schedule_hrtimeout_range — sleep until timeout
| int __sched schedule_hrtimeout_range ( | ktime_t * expires, | 
| unsigned long delta, | |
| const enum hrtimer_mode mode ); | 
expirestimeout value (ktime_t)
deltaslack in expires timeout (ktime_t)
modetimer mode, HRTIMER_MODE_ABS or HRTIMER_MODE_REL
   Make the current task sleep until the given expiry time has
   elapsed. The routine will return immediately unless
   the current task state has been set (see set_current_state).
   
   The delta argument gives the kernel the freedom to schedule the
   actual wakeup to a time that is both power and performance friendly.
   The kernel give the normal best effort behavior for “expires+delta”,
   but may decide to fire the timer earlier, but no earlier than expires.
   
You can set the task state as follows -
   TASK_UNINTERRUPTIBLE - at least timeout time is guaranteed to
   pass before the routine returns.
   
   TASK_INTERRUPTIBLE - the routine may return early if a signal is
   delivered to the current task.
   
The current task state is guaranteed to be TASK_RUNNING when this routine returns.
Returns 0 when the timer has expired otherwise -EINTR