]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/oprofile/buffer_sync.c
Merge branch 'omap-pool'
[linux-2.6-omap-h63xx.git] / drivers / oprofile / buffer_sync.c
index 2c9aa49e43cdf1a879214ac281bf705b84015f25..8574622e36a51abec01aaa05d9f509b00b8ad9f0 100644 (file)
@@ -154,6 +154,10 @@ int sync_start(void)
 {
        int err;
 
+       if (!alloc_cpumask_var(&marked_cpus, GFP_KERNEL))
+               return -ENOMEM;
+       cpumask_clear(marked_cpus);
+
        start_cpu_work();
 
        err = task_handoff_register(&task_free_nb);
@@ -179,6 +183,7 @@ out2:
        task_handoff_unregister(&task_free_nb);
 out1:
        end_sync();
+       free_cpumask_var(marked_cpus);
        goto out;
 }
 
@@ -190,6 +195,7 @@ void sync_stop(void)
        profile_event_unregister(PROFILE_TASK_EXIT, &task_exit_nb);
        task_handoff_unregister(&task_free_nb);
        end_sync();
+       free_cpumask_var(marked_cpus);
 }
 
 
@@ -565,20 +571,6 @@ void sync_buffer(int cpu)
        mutex_unlock(&buffer_mutex);
 }
 
-int __init buffer_sync_init(void)
-{
-       if (!alloc_cpumask_var(&marked_cpus, GFP_KERNEL))
-               return -ENOMEM;
-
-       cpumask_clear(marked_cpus);
-               return 0;
-}
-
-void buffer_sync_cleanup(void)
-{
-       free_cpumask_var(marked_cpus);
-}
-
 /* The function can be used to add a buffer worth of data directly to
  * the kernel buffer. The buffer is assumed to be a circular buffer.
  * Take the entries from index start and end at index end, wrapping