clockevents: Allow build w/o run-tine usage for migration purposes
authorThomas Gleixner <tglx@linutronix.de>
Fri, 12 Oct 2007 21:04:05 +0000 (23:04 +0200)
committerThomas Gleixner <tglx@inhelltoy.tec.linutronix.de>
Fri, 12 Oct 2007 21:04:05 +0000 (23:04 +0200)
Migration aid to allow preparatory patches which introduce not yet
used parts of clock events code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
include/linux/clockchips.h
kernel/time/Kconfig
kernel/time/Makefile
kernel/time/clockevents.c

index f368a6fe8cc9a4ac76475a8b3b6d946fda188017..d2ddea926895378effcf67862b5a875910018c52 100644 (file)
@@ -8,7 +8,7 @@
 #ifndef _LINUX_CLOCKCHIPS_H
 #define _LINUX_CLOCKCHIPS_H
 
-#ifdef CONFIG_GENERIC_CLOCKEVENTS
+#ifdef CONFIG_GENERIC_CLOCKEVENTS_BUILD
 
 #include <linux/clocksource.h>
 #include <linux/cpumask.h>
@@ -126,9 +126,13 @@ extern int clockevents_register_notifier(struct notifier_block *nb);
 extern int clockevents_program_event(struct clock_event_device *dev,
                                     ktime_t expires, ktime_t now);
 
+#ifdef CONFIG_GENERIC_CLOCKEVENTS
 extern void clockevents_notify(unsigned long reason, void *arg);
-
 #else
+# define clockevents_notify(reason, arg) do { } while (0)
+#endif
+
+#else /* CONFIG_GENERIC_CLOCKEVENTS_BUILD */
 
 #define clockevents_notify(reason, arg) do { } while (0)
 
index f66351126544801116759583e26736f45ffb8402..8d53106a0a92c1dd619b6dc0f5e7841fc10824b4 100644 (file)
@@ -23,3 +23,8 @@ config HIGH_RES_TIMERS
          hardware is not capable then this option only increases
          the size of the kernel image.
 
+config GENERIC_CLOCKEVENTS_BUILD
+       bool
+       default y
+       depends on GENERIC_CLOCKEVENTS || GENERIC_CLOCKEVENTS_MIGR
+
index 99b6034fc86b40defbc2ecde23647c014eedcd9c..905b0b50792da7a9da1f3bbab3428604ec6ea9fb 100644 (file)
@@ -1,6 +1,6 @@
 obj-y += timekeeping.o ntp.o clocksource.o jiffies.o timer_list.o
 
-obj-$(CONFIG_GENERIC_CLOCKEVENTS)              += clockevents.o
+obj-$(CONFIG_GENERIC_CLOCKEVENTS_BUILD)                += clockevents.o
 obj-$(CONFIG_GENERIC_CLOCKEVENTS)              += tick-common.o
 obj-$(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST)    += tick-broadcast.o
 obj-$(CONFIG_TICK_ONESHOT)                     += tick-oneshot.o
index 41dd3105ce7fd6846aabecb2f3d1b31410994bc4..822beebe664a59e98d3557c98a7ff8632423f6a1 100644 (file)
@@ -194,6 +194,7 @@ void clockevents_exchange_device(struct clock_event_device *old,
        local_irq_restore(flags);
 }
 
+#ifdef CONFIG_GENERIC_CLOCKEVENTS
 /**
  * clockevents_notify - notification about relevant events
  */
@@ -222,4 +223,4 @@ void clockevents_notify(unsigned long reason, void *arg)
        spin_unlock(&clockevents_lock);
 }
 EXPORT_SYMBOL_GPL(clockevents_notify);
-
+#endif