clocksource: Change __ARCH_HAS_CLOCKSOURCE_DATA to a CONFIG option
authorH. Peter Anvin <hpa@zytor.com>
Thu, 21 Jul 2011 20:34:05 +0000 (13:34 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 21 Jul 2011 20:34:05 +0000 (13:34 -0700)
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>
arch/ia64/Kconfig
arch/ia64/include/asm/clocksource.h
arch/x86/Kconfig
arch/x86/include/asm/clocksource.h
include/asm-generic/clocksource.h [deleted file]
include/linux/clocksource.h

index 38280ef4a2af219c8a2aba4fef0a43830acc8515..0a9820a77825ce9875c32f7b303c274e9a0f5fac 100644 (file)
@@ -101,6 +101,9 @@ config GENERIC_IOMAP
        bool
        default y
 
+config ARCH_CLOCKSOURCE_DATA
+       def_bool y
+
 config SCHED_OMIT_FRAME_POINTER
        bool
        default y
index 00eb549a59b0ff0e0f101dd41f1ef1972c55cf50..5c8596e4cb0286cc89a3436647d7b6f75f1d7a4e 100644 (file)
@@ -3,8 +3,6 @@
 #ifndef _ASM_IA64_CLOCKSOURCE_H
 #define _ASM_IA64_CLOCKSOURCE_H
 
-#define __ARCH_HAS_CLOCKSOURCE_DATA
-
 struct arch_clocksource_data {
        void *fsys_mmio;        /* used by fsyscall asm code */
 };
index da349723d4115cef7d75aac4680ba2284deaf0d0..c1e41bccdcb8cb365a343bd68df2249fb18db58e 100644 (file)
@@ -93,6 +93,10 @@ config CLOCKSOURCE_WATCHDOG
 config GENERIC_CLOCKEVENTS
        def_bool y
 
+config ARCH_CLOCKSOURCE_DATA
+       def_bool y
+       depends on X86_64
+
 config GENERIC_CLOCKEVENTS_BROADCAST
        def_bool y
        depends on X86_64 || (X86_32 && X86_LOCAL_APIC)
index 3882c65dc19b4adb40b0034130bc690dfc4ed7fd..0bdbbb3b9ce70545337d86b68c269867d6075384 100644 (file)
@@ -5,8 +5,6 @@
 
 #ifdef CONFIG_X86_64
 
-#define __ARCH_HAS_CLOCKSOURCE_DATA
-
 #define VCLOCK_NONE 0  /* No vDSO clock available.     */
 #define VCLOCK_TSC  1  /* vDSO should use vread_tsc.   */
 #define VCLOCK_HPET 2  /* vDSO should use vread_hpet.  */
diff --git a/include/asm-generic/clocksource.h b/include/asm-generic/clocksource.h
deleted file mode 100644 (file)
index 0a462d3..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * Architectures should override this file to add private userspace
- * clock magic if needed.
- */
index 6bb69702c4fa18b10eda89e797443349fb05c7fd..59ee970cf89e5dae94ec33577d04c387a1201246 100644 (file)
@@ -22,7 +22,9 @@
 typedef u64 cycle_t;
 struct clocksource;
 
+#ifdef CONFIG_ARCH_CLOCKSOURCE_DATA
 #include <asm/clocksource.h>
+#endif
 
 /**
  * struct cyclecounter - hardware abstraction for a free running counter
@@ -171,7 +173,7 @@ struct clocksource {
        u32 shift;
        u64 max_idle_ns;
 
-#ifdef __ARCH_HAS_CLOCKSOURCE_DATA
+#ifdef CONFIG_ARCH_CLOCKSOURCE_DATA
        struct arch_clocksource_data archdata;
 #endif