summaryrefslogtreecommitdiff
path: root/kernel/time/ntp.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/time/ntp.c')
-rw-r--r--kernel/time/ntp.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index d6132cd..af8d1d4 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -10,7 +10,6 @@
#include <linux/workqueue.h>
#include <linux/hrtimer.h>
#include <linux/jiffies.h>
-#include <linux/kthread.h>
#include <linux/math64.h>
#include <linux/timex.h>
#include <linux/time.h>
@@ -518,49 +517,10 @@ static void sync_cmos_clock(struct work_struct *work)
schedule_delayed_work(&sync_cmos_work, timespec_to_jiffies(&next));
}
-#ifdef CONFIG_PREEMPT_RT_FULL
-/*
- * RT can not call schedule_delayed_work from real interrupt context.
- * Need to make a thread to do the real work.
- */
-static struct task_struct *cmos_delay_thread;
-static bool do_cmos_delay;
-
-static int run_cmos_delay(void *ignore)
-{
- while (!kthread_should_stop()) {
- set_current_state(TASK_INTERRUPTIBLE);
- if (do_cmos_delay) {
- do_cmos_delay = false;
- schedule_delayed_work(&sync_cmos_work, 0);
- }
- schedule();
- }
- __set_current_state(TASK_RUNNING);
- return 0;
-}
-
-void ntp_notify_cmos_timer(void)
-{
- do_cmos_delay = true;
- /* Make visible before waking up process */
- smp_wmb();
- wake_up_process(cmos_delay_thread);
-}
-
-static __init int create_cmos_delay_thread(void)
-{
- cmos_delay_thread = kthread_run(run_cmos_delay, NULL, "kcmosdelayd");
- BUG_ON(!cmos_delay_thread);
- return 0;
-}
-early_initcall(create_cmos_delay_thread);
-#else
void ntp_notify_cmos_timer(void)
{
schedule_delayed_work(&sync_cmos_work, 0);
}
-#endif /* CONFIG_PREEMPT_RT_FULL */
#else
void ntp_notify_cmos_timer(void) { }