diff options
Diffstat (limited to 'arch/s390/kernel/vtime.c')
-rw-r--r-- | arch/s390/kernel/vtime.c | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/arch/s390/kernel/vtime.c b/arch/s390/kernel/vtime.c index ca90ee3f930e..eb08d04bc1ec 100644 --- a/arch/s390/kernel/vtime.c +++ b/arch/s390/kernel/vtime.c | |||
@@ -136,7 +136,7 @@ static inline void set_vtimer(__u64 expires) | |||
136 | } | 136 | } |
137 | #endif | 137 | #endif |
138 | 138 | ||
139 | static void start_cpu_timer(void) | 139 | void vtime_start_cpu_timer(void) |
140 | { | 140 | { |
141 | struct vtimer_queue *vt_list; | 141 | struct vtimer_queue *vt_list; |
142 | 142 | ||
@@ -150,7 +150,7 @@ static void start_cpu_timer(void) | |||
150 | set_vtimer(vt_list->idle); | 150 | set_vtimer(vt_list->idle); |
151 | } | 151 | } |
152 | 152 | ||
153 | static void stop_cpu_timer(void) | 153 | void vtime_stop_cpu_timer(void) |
154 | { | 154 | { |
155 | struct vtimer_queue *vt_list; | 155 | struct vtimer_queue *vt_list; |
156 | 156 | ||
@@ -536,24 +536,6 @@ void init_cpu_vtimer(void) | |||
536 | 536 | ||
537 | } | 537 | } |
538 | 538 | ||
539 | static int vtimer_idle_notify(struct notifier_block *self, | ||
540 | unsigned long action, void *hcpu) | ||
541 | { | ||
542 | switch (action) { | ||
543 | case S390_CPU_IDLE: | ||
544 | stop_cpu_timer(); | ||
545 | break; | ||
546 | case S390_CPU_NOT_IDLE: | ||
547 | start_cpu_timer(); | ||
548 | break; | ||
549 | } | ||
550 | return NOTIFY_OK; | ||
551 | } | ||
552 | |||
553 | static struct notifier_block vtimer_idle_nb = { | ||
554 | .notifier_call = vtimer_idle_notify, | ||
555 | }; | ||
556 | |||
557 | void __init vtime_init(void) | 539 | void __init vtime_init(void) |
558 | { | 540 | { |
559 | /* request the cpu timer external interrupt */ | 541 | /* request the cpu timer external interrupt */ |
@@ -561,9 +543,6 @@ void __init vtime_init(void) | |||
561 | &ext_int_info_timer) != 0) | 543 | &ext_int_info_timer) != 0) |
562 | panic("Couldn't request external interrupt 0x1005"); | 544 | panic("Couldn't request external interrupt 0x1005"); |
563 | 545 | ||
564 | if (register_idle_notifier(&vtimer_idle_nb)) | ||
565 | panic("Couldn't register idle notifier"); | ||
566 | |||
567 | /* Enable cpu timer interrupts on the boot cpu. */ | 546 | /* Enable cpu timer interrupts on the boot cpu. */ |
568 | init_cpu_vtimer(); | 547 | init_cpu_vtimer(); |
569 | } | 548 | } |