|
@@ -57,6 +57,19 @@ struct hrtimer {
|
|
struct hrtimer_base *base;
|
|
struct hrtimer_base *base;
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * struct hrtimer_sleeper - simple sleeper structure
|
|
|
|
+ *
|
|
|
|
+ * @timer: embedded timer structure
|
|
|
|
+ * @task: task to wake up
|
|
|
|
+ *
|
|
|
|
+ * task is set to NULL, when the timer expires.
|
|
|
|
+ */
|
|
|
|
+struct hrtimer_sleeper {
|
|
|
|
+ struct hrtimer timer;
|
|
|
|
+ struct task_struct *task;
|
|
|
|
+};
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* struct hrtimer_base - the timer base for a specific clock
|
|
* struct hrtimer_base - the timer base for a specific clock
|
|
*
|
|
*
|
|
@@ -127,6 +140,9 @@ extern long hrtimer_nanosleep(struct timespec *rqtp,
|
|
const enum hrtimer_mode mode,
|
|
const enum hrtimer_mode mode,
|
|
const clockid_t clockid);
|
|
const clockid_t clockid);
|
|
|
|
|
|
|
|
+extern void hrtimer_init_sleeper(struct hrtimer_sleeper *sl,
|
|
|
|
+ struct task_struct *tsk);
|
|
|
|
+
|
|
/* Soft interrupt function to run the hrtimer queues: */
|
|
/* Soft interrupt function to run the hrtimer queues: */
|
|
extern void hrtimer_run_queues(void);
|
|
extern void hrtimer_run_queues(void);
|
|
|
|
|