Added macros and headers to support SLES15
[compat-rdma/compat.git] / include / linux / compat-2.6.h
1 #ifndef LINUX_26_COMPAT_H
2 #define LINUX_26_COMPAT_H
3
4 #include <generated/autoconf.h>
5
6 /* Include the autogenerated header file */
7 #include "../../compat/config.h"
8
9 #define LINUX_BACKPORT(__sym) backport_ ##__sym
10
11 #ifdef CONFIG_COMPAT_RDMA
12
13 #include <linux/version.h>
14 #include <linux/kconfig.h>
15 #include <linux/if.h>
16 #include <linux/compat_autoconf.h>
17 #include <linux/compat_fix.h>
18 #include <linux/init.h>
19 #include <linux/module.h>
20 #include <linux/uidgid.h>
21
22 /*
23  * The define overwriting module_init is based on the original module_init
24  * which looks like this:
25  * #define module_init(initfn)                                  \
26  *      static inline initcall_t __inittest(void)               \
27  *      { return initfn; }                                      \
28  *      int init_module(void) __attribute__((alias(#initfn)));
29  *
30  * To the call to the initfn we added the symbol dependency on compat
31  * to make sure that compat.ko gets loaded for any compat modules.
32  */
33 void backport_dependency_symbol(void);
34
35 #undef module_init
36 #define module_init(initfn)                                             \
37         static int __init __init_backport(void)                         \
38         {                                                               \
39                 backport_dependency_symbol();                           \
40                 return initfn();                                        \
41         }                                                               \
42         int init_module(void) __attribute__((alias("__init_backport")));
43
44 /*
45  * Each compat file represents compatibility code for new kernel
46  * code introduced for *that* kernel revision.
47  */
48
49 #include <linux/compat-3.11.h>
50 #include <linux/compat-3.12.h>
51 #include <linux/compat-3.13.h>
52 #include <linux/compat-3.14.h>
53 #include <linux/compat-3.15.h>
54 #include <linux/compat-3.16.h>
55 #include <linux/compat-3.17.h>
56 #include <linux/compat-3.19.h>
57 #include <linux/compat-4.0.h>
58 #include <linux/compat-4.1.h>
59 #include <linux/compat-4.5.h>
60 #include <linux/compat-4.9.h>
61 #include <linux/compat-4.11.h>
62 #include <linux/compat-4.14.h>
63 #include <linux/compat-4.16.h>
64 #include <linux/compat-4.17.h>
65 #include <linux/compat-5.1.h>
66 #include <linux/compat-5.3.h>
67
68 #endif /* CONFIG_COMPAT_RDMA */
69 #endif /* LINUX_26_COMPAT_H */