CHROMIUM: perf tools: fix -ldw/-lelf link test when static linking
[cascardo/linux.git] / kernel / posix-timers.c
index 69185ae..96ee707 100644 (file)
@@ -221,6 +221,20 @@ static int posix_get_boottime(const clockid_t which_clock, struct timespec *tp)
        return 0;
 }
 
+static int posix_get_system_trace_res(const clockid_t which_clock,
+                                     struct timespec *tp)
+{
+       trace_clock_getres(tp);
+       return 0;
+}
+
+static int posix_get_system_trace(const clockid_t which_clock,
+                                 struct timespec *tp)
+{
+       trace_clock_gettime(tp);
+       return 0;
+}
+
 
 /*
  * Initialize everything, well, just everything in Posix clocks/timers ;)
@@ -271,6 +285,10 @@ static __init int init_posix_timers(void)
                .timer_get      = common_timer_get,
                .timer_del      = common_timer_del,
        };
+       struct k_clock clock_system_trace = {
+               .clock_getres   = posix_get_system_trace_res,
+               .clock_get      = posix_get_system_trace,
+       };
 
        posix_timers_register_clock(CLOCK_REALTIME, &clock_realtime);
        posix_timers_register_clock(CLOCK_MONOTONIC, &clock_monotonic);
@@ -278,6 +296,7 @@ static __init int init_posix_timers(void)
        posix_timers_register_clock(CLOCK_REALTIME_COARSE, &clock_realtime_coarse);
        posix_timers_register_clock(CLOCK_MONOTONIC_COARSE, &clock_monotonic_coarse);
        posix_timers_register_clock(CLOCK_BOOTTIME, &clock_boottime);
+       posix_timers_register_clock(CLOCK_SYSTEM_TRACE, &clock_system_trace);
 
        posix_timers_cache = kmem_cache_create("posix_timers_cache",
                                        sizeof (struct k_itimer), 0, SLAB_PANIC,