Merge tag 'v3.14.25' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / staging / ktap / test / ffi / ktap_ffi_test.c
1 #include <linux/module.h>
2 #include <linux/kernel.h>
3 #include <linux/init.h>
4 #include <linux/sched.h>
5
6 void ffi_test_void(void)
7 {
8 }
9 EXPORT_SYMBOL(ffi_test_void);
10
11 int ffi_test_int1(unsigned char a, char b, unsigned short c, short d)
12 {
13         return a + b + c + d;
14 }
15 EXPORT_SYMBOL(ffi_test_int1);
16
17 long long ffi_test_int2(unsigned int a, int b, unsigned long c, long d,
18                 unsigned long long e, long long f, long long g)
19 {
20         return a + b + c + d + e + f + g;
21 }
22 EXPORT_SYMBOL(ffi_test_int2);
23
24 void *ffi_test_pointer1(char *a) {
25         return a;
26 }
27 EXPORT_SYMBOL(ffi_test_pointer1);
28
29 long long ffi_test_var_arg(int n, ...) {
30         va_list ap;
31         int i;
32         long long sum = 0;
33         va_start(ap, n);
34         for (i = 0; i < n; i++) {
35                 sum += va_arg(ap, long long);
36         }
37         va_end(ap);
38         return sum;
39 }
40 EXPORT_SYMBOL(ffi_test_var_arg);
41
42 unsigned long long ffi_test_sched_clock(void)
43 {
44         return sched_clock();
45 }
46 EXPORT_SYMBOL(ffi_test_sched_clock);
47
48
49
50 static int __init ffi_test_init(void)
51 {
52         return 0;
53 }
54
55 static void __exit ffi_test_exit(void)
56 {
57 }
58
59
60 MODULE_DESCRIPTION("ktap ffi test module");
61 MODULE_LICENSE("GPL");
62
63 module_init(ffi_test_init);
64 module_exit(ffi_test_exit);