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.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Andy Lutomirski <luto@mit.edu>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Tony Luck <tony.luck@intel.com>
This commit is contained in:
H. Peter Anvin 2011-07-21 13:34:05 -07:00
parent 8c400f6ce0
commit ae7bd11b47
6 changed files with 10 additions and 9 deletions

View File

@ -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

View File

@ -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 */
}; };

View File

@ -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)

View File

@ -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. */

View File

@ -1,4 +0,0 @@
/*
* Architectures should override this file to add private userspace
* clock magic if needed.
*/

View File

@ -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 {
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