aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/vtime.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2008-07-14 03:59:06 -0400
committerHeiko Carstens <heiko.carstens@de.ibm.com>2008-07-14 04:02:13 -0400
commit773922e1dab93a62e60cfb34afadb0f66d5f12e9 (patch)
treef13ea310c22080a90dcbc9580b678cbd91c44838 /arch/s390/kernel/vtime.c
parent9d92a7e1b0d095c8be96ce5e592c6c5541684631 (diff)
[S390] idle: remove idle notifier chain.
The idle notifier chain consists of at most one element. So there's no point in having a notifier chain. Remove it and directly call the function. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/vtime.c')
-rw-r--r--arch/s390/kernel/vtime.c25
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
139static void start_cpu_timer(void) 139void 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
153static void stop_cpu_timer(void) 153void 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
539static 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
553static struct notifier_block vtimer_idle_nb = {
554 .notifier_call = vtimer_idle_notify,
555};
556
557void __init vtime_init(void) 539void __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}