Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5f87f15 authored by Martin Schwidefsky's avatar Martin Schwidefsky
Browse files

s390/idle: consolidate idle functions and definitions



Move the C functions and definitions related to the idle state handling
to arch/s390/include/asm/idle.h and arch/s390/kernel/idle.c. The function
s390_get_idle_time is renamed to arch_cpu_idle_time and vtime_stop_cpu to
enabled_wait.

Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent fe0f4976
Loading
Loading
Loading
Loading
+2 −16
Original line number Original line Diff line number Diff line
@@ -8,8 +8,6 @@
#define _S390_CPUTIME_H
#define _S390_CPUTIME_H


#include <linux/types.h>
#include <linux/types.h>
#include <linux/percpu.h>
#include <linux/spinlock.h>
#include <asm/div64.h>
#include <asm/div64.h>




@@ -165,20 +163,8 @@ static inline clock_t cputime64_to_clock_t(cputime64_t cputime)
	return clock;
	return clock;
}
}


struct s390_idle_data {
cputime64_t arch_cpu_idle_time(int cpu);
	unsigned int sequence;
	unsigned long long idle_count;
	unsigned long long idle_time;
	unsigned long long clock_idle_enter;
	unsigned long long clock_idle_exit;
	unsigned long long timer_idle_enter;
	unsigned long long timer_idle_exit;
};


DECLARE_PER_CPU(struct s390_idle_data, s390_idle);
#define arch_idle_time(cpu) arch_cpu_idle_time(cpu)

cputime64_t s390_get_idle_time(int cpu);

#define arch_idle_time(cpu) s390_get_idle_time(cpu)


#endif /* _S390_CPUTIME_H */
#endif /* _S390_CPUTIME_H */
+26 −0
Original line number Original line Diff line number Diff line
/*
 *  Copyright IBM Corp. 2014
 *
 *  Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
 */

#ifndef _S390_IDLE_H
#define _S390_IDLE_H

#include <linux/types.h>
#include <linux/device.h>

struct s390_idle_data {
	unsigned int sequence;
	unsigned long long idle_count;
	unsigned long long idle_time;
	unsigned long long clock_idle_enter;
	unsigned long long clock_idle_exit;
	unsigned long long timer_idle_enter;
	unsigned long long timer_idle_exit;
};

extern struct device_attribute dev_attr_idle_count;
extern struct device_attribute dev_attr_idle_time_us;

#endif /* _S390_IDLE_H */
+6 −1
Original line number Original line Diff line number Diff line
@@ -290,6 +290,11 @@ static inline unsigned long __rewind_psw(psw_t psw, unsigned long ilc)
#endif
#endif
}
}


/*
 * Function to stop a processor until the next interrupt occurs
 */
void enabled_wait(void);

/*
/*
 * Function to drop a processor into disabled wait state
 * Function to drop a processor into disabled wait state
 */
 */
+0 −2
Original line number Original line Diff line number Diff line
@@ -28,6 +28,4 @@ extern int del_virt_timer(struct vtimer_list *timer);
extern void init_cpu_vtimer(void);
extern void init_cpu_vtimer(void);
extern void vtime_init(void);
extern void vtime_init(void);


extern void vtime_stop_cpu(void);

#endif /* _ASM_S390_TIMER_H */
#endif /* _ASM_S390_TIMER_H */
+1 −1
Original line number Original line Diff line number Diff line
@@ -28,7 +28,7 @@ CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"'


CFLAGS_sysinfo.o += -Iinclude/math-emu -Iarch/s390/math-emu -w
CFLAGS_sysinfo.o += -Iinclude/math-emu -Iarch/s390/math-emu -w


obj-y	:= traps.o time.o process.o base.o early.o setup.o vtime.o
obj-y	:= traps.o time.o process.o base.o early.o setup.o idle.o vtime.o
obj-y	+= processor.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o nmi.o
obj-y	+= processor.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o nmi.o
obj-y	+= debug.o irq.o ipl.o dis.o diag.o sclp.o vdso.o
obj-y	+= debug.o irq.o ipl.o dis.o diag.o sclp.o vdso.o
obj-y	+= sysinfo.o jump_label.o lgr.o os_info.o machine_kexec.o pgm_check.o
obj-y	+= sysinfo.o jump_label.o lgr.o os_info.o machine_kexec.o pgm_check.o
Loading