Commit ae7bd11b authored by H. Peter Anvin's avatar H. Peter Anvin

clocksource: Change __ARCH_HAS_CLOCKSOURCE_DATA to a CONFIG option

The machinery for __ARCH_HAS_CLOCKSOURCE_DATA assumed a file in
asm-generic would be the default for architectures without their own
file in asm/, but that is not how it works.

Replace it with a Kconfig option instead.

Link: http://lkml.kernel.org/r/4E288AA6.7090804@zytor.comSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
Cc: Andy Lutomirski <luto@mit.edu>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Tony Luck <tony.luck@intel.com>
parent 8c400f6c
...@@ -101,6 +101,9 @@ config GENERIC_IOMAP ...@@ -101,6 +101,9 @@ config GENERIC_IOMAP
bool bool
default y default y
config ARCH_CLOCKSOURCE_DATA
def_bool y
config SCHED_OMIT_FRAME_POINTER config SCHED_OMIT_FRAME_POINTER
bool bool
default y default y
......
...@@ -3,8 +3,6 @@ ...@@ -3,8 +3,6 @@
#ifndef _ASM_IA64_CLOCKSOURCE_H #ifndef _ASM_IA64_CLOCKSOURCE_H
#define _ASM_IA64_CLOCKSOURCE_H #define _ASM_IA64_CLOCKSOURCE_H
#define __ARCH_HAS_CLOCKSOURCE_DATA
struct arch_clocksource_data { struct arch_clocksource_data {
void *fsys_mmio; /* used by fsyscall asm code */ void *fsys_mmio; /* used by fsyscall asm code */
}; };
......
...@@ -93,6 +93,10 @@ config CLOCKSOURCE_WATCHDOG ...@@ -93,6 +93,10 @@ config CLOCKSOURCE_WATCHDOG
config GENERIC_CLOCKEVENTS config GENERIC_CLOCKEVENTS
def_bool y def_bool y
config ARCH_CLOCKSOURCE_DATA
def_bool y
depends on X86_64
config GENERIC_CLOCKEVENTS_BROADCAST config GENERIC_CLOCKEVENTS_BROADCAST
def_bool y def_bool y
depends on X86_64 || (X86_32 && X86_LOCAL_APIC) depends on X86_64 || (X86_32 && X86_LOCAL_APIC)
......
...@@ -5,8 +5,6 @@ ...@@ -5,8 +5,6 @@
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
#define __ARCH_HAS_CLOCKSOURCE_DATA
#define VCLOCK_NONE 0 /* No vDSO clock available. */ #define VCLOCK_NONE 0 /* No vDSO clock available. */
#define VCLOCK_TSC 1 /* vDSO should use vread_tsc. */ #define VCLOCK_TSC 1 /* vDSO should use vread_tsc. */
#define VCLOCK_HPET 2 /* vDSO should use vread_hpet. */ #define VCLOCK_HPET 2 /* vDSO should use vread_hpet. */
......
/*
* Architectures should override this file to add private userspace
* clock magic if needed.
*/
...@@ -22,7 +22,9 @@ ...@@ -22,7 +22,9 @@
typedef u64 cycle_t; typedef u64 cycle_t;
struct clocksource; struct clocksource;
#ifdef CONFIG_ARCH_CLOCKSOURCE_DATA
#include <asm/clocksource.h> #include <asm/clocksource.h>
#endif
/** /**
* struct cyclecounter - hardware abstraction for a free running counter * struct cyclecounter - hardware abstraction for a free running counter
...@@ -171,7 +173,7 @@ struct clocksource { ...@@ -171,7 +173,7 @@ struct clocksource {
u32 shift; u32 shift;
u64 max_idle_ns; u64 max_idle_ns;
#ifdef __ARCH_HAS_CLOCKSOURCE_DATA #ifdef CONFIG_ARCH_CLOCKSOURCE_DATA
struct arch_clocksource_data archdata; struct arch_clocksource_data archdata;
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment