move everything out of trunk
[lttv.git] / tests / kernel / probe.c
index 6c6b28d400a6dae4b79c3083cdbe9d7b47adc159..5f2c484b0a0b40802a63d7525c254357a15f7c8e 100644 (file)
 
 /* function to install */
 #define DO_MARK1_FORMAT "%d"
-asmlinkage void do_mark1(const char *format, int value)
+void do_mark1(const char *format, ...)
 {
-       __mark_check_format(DO_MARK1_FORMAT, value);
+       va_list ap;
+       int value;
+
+       va_start(ap, format);
+       value = va_arg(ap, int);
        printk("value is %d\n", value);
+       
+       va_end(ap);
 }
 
-#define DO_MARK2_FORMAT "%d %s"
-asmlinkage void do_mark2(const char *format, int value, const char *string)
+void do_mark2(const char *format, ...)
 {
-       __mark_check_format(DO_MARK2_FORMAT, value, string);
-       printk("value is %d %s\n", value, string);
+       va_list ap;
+
+       va_start(ap, format);
+       vprintk(format, ap);
+       va_end(ap);
+       printk("\n");
 }
 
 #define DO_MARK3_FORMAT "%d %s %s"
-asmlinkage void do_mark3(const char *format, int value, const char *s1,
-                               const char *s2)
+void do_mark3(const char *format, ...)
 {
-       __mark_check_format(DO_MARK3_FORMAT, value, s1, s2);
-       printk("value is %d %s %s\n", value, s1, s2);
+       va_list ap;
+       int value;
+       const char *s1, *s2;
+       
+       va_start(ap, format);
+       value = va_arg(ap, int);
+       s1 = va_arg(ap, const char*);
+       s2 = va_arg(ap, const char *);
+
+       printk("value is %d %s %s\n",
+               value, s1, s2);
+       va_end(ap);
 }
 
 int init_module(void)
@@ -40,32 +58,31 @@ int init_module(void)
        int result;
        result = marker_set_probe("subsys_mark1", DO_MARK1_FORMAT,
                        (marker_probe_func*)do_mark1);
-       if(result) goto end;
-       result = marker_set_probe("subsys_mark2", DO_MARK2_FORMAT,
+       if(!result) goto end;
+       result = marker_set_probe("subsys_mark2", NULL,
                        (marker_probe_func*)do_mark2);
-       if(result) goto cleanup1;
+       if(!result) goto cleanup1;
        result = marker_set_probe("subsys_mark3", DO_MARK3_FORMAT,
                        (marker_probe_func*)do_mark3);
-       if(result) goto cleanup2;
+       if(!result) goto cleanup2;
 
-       return -result;
+       return 0;
 
 cleanup2:
-       marker_disable_probe("subsys_mark2", (marker_probe_func*)do_mark2);
+       marker_remove_probe((marker_probe_func*)do_mark2);
 cleanup1:
-       marker_disable_probe("subsys_mark1", (marker_probe_func*)do_mark1);
+       marker_remove_probe((marker_probe_func*)do_mark1);
 end:
-       return -result;
+       return -EPERM;
 }
 
 void cleanup_module(void)
 {
-       marker_disable_probe("subsys_mark1", (marker_probe_func*)do_mark1);
-       marker_disable_probe("subsys_mark2", (marker_probe_func*)do_mark2);
-       marker_disable_probe("subsys_mark3", (marker_probe_func*)do_mark3);
+       marker_remove_probe((marker_probe_func*)do_mark1);
+       marker_remove_probe((marker_probe_func*)do_mark2);
+       marker_remove_probe((marker_probe_func*)do_mark3);
 }
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
 MODULE_DESCRIPTION("Probe");
-
This page took 0.024037 seconds and 4 git commands to generate.