s390/idle: merge enabled_wait() and arch_cpu_idle()
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 14 Dec 2020 21:33:39 +0000 (22:33 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 16 Dec 2020 13:55:49 +0000 (14:55 +0100)
The only caller of enabled_wait() besides arch_cpu_idle() was
udelay(). Since that call doesn't exist anymore, merge enabled_wait()
and arch_cpu_idle().

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/processor.h
arch/s390/kernel/idle.c

index 85dfbb2..2058a43 100644 (file)
@@ -291,11 +291,6 @@ static inline unsigned long __rewind_psw(psw_t psw, unsigned long ilc)
 }
 
 /*
- * Function to stop a processor until the next interrupt occurs
- */
-void enabled_wait(void);
-
-/*
  * Function to drop a processor into disabled wait state
  */
 static __always_inline void __noreturn disabled_wait(void)
index 2b85096..bbf6b7d 100644 (file)
@@ -21,7 +21,7 @@
 
 static DEFINE_PER_CPU(struct s390_idle_data, s390_idle);
 
-void enabled_wait(void)
+void arch_cpu_idle(void)
 {
        struct s390_idle_data *idle = this_cpu_ptr(&s390_idle);
        unsigned long long idle_time;
@@ -46,8 +46,9 @@ void enabled_wait(void)
        idle->idle_count++;
        account_idle_time(cputime_to_nsecs(idle_time));
        raw_write_seqcount_end(&idle->seqcount);
+       raw_local_irq_enable();
 }
-NOKPROBE_SYMBOL(enabled_wait);
+NOKPROBE_SYMBOL(arch_cpu_idle);
 
 static ssize_t show_idle_count(struct device *dev,
                                struct device_attribute *attr, char *buf)
@@ -120,12 +121,6 @@ void arch_cpu_idle_enter(void)
 {
 }
 
-void arch_cpu_idle(void)
-{
-       enabled_wait();
-       raw_local_irq_enable();
-}
-
 void arch_cpu_idle_exit(void)
 {
 }