1 #ifndef LINUX_26_COMPAT_H
2 #define LINUX_26_COMPAT_H
4 #define LINUX_BACKPORT(__sym) backport_ ##__sym
6 /* Include the autogenerated header file */
7 #include "../../compat/config.h"
9 #include <linux/version.h>
10 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
11 #include <linux/kconfig.h>
13 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
14 #include <linux/kconfig.h>
15 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
16 #include <generated/autoconf.h>
18 #include <linux/autoconf.h>
20 #include <linux/compat_autoconf.h>
21 #include <linux/init.h>
22 #include <linux/uidgid.h>
25 * The define overwriting module_init is based on the original module_init
26 * which looks like this:
27 * #define module_init(initfn) \
28 * static inline initcall_t __inittest(void) \
29 * { return initfn; } \
30 * int init_module(void) __attribute__((alias(#initfn)));
32 * To the call to the initfn we added the symbol dependency on compat
33 * to make sure that compat.ko gets loaded for any compat modules.
35 void backport_dependency_symbol(void);
38 #define module_init(initfn) \
39 static int __init __init_backport(void) \
41 backport_dependency_symbol(); \
44 int init_module(void) __attribute__((alias("__init_backport")));
47 * Each compat file represents compatibility code for new kernel
48 * code introduced for *that* kernel revision.
51 #include <linux/compat-2.6.32.h>
52 #include <linux/compat-2.6.33.h>
53 #include <linux/compat-2.6.34.h>
54 #include <linux/compat-2.6.35.h>
55 #include <linux/compat-2.6.36.h>
56 #include <linux/compat-2.6.37.h>
57 #include <linux/compat-2.6.38.h>
58 #include <linux/compat-2.6.39.h>
59 #include <linux/compat-3.0.h>
60 #include <linux/compat-3.1.h>
61 #include <linux/compat-3.2.h>
62 #include <linux/compat-3.3.h>
63 #include <linux/compat-3.4.h>
64 #include <linux/compat-3.5.h>
65 #include <linux/compat-3.6.h>
66 #include <linux/compat-3.7.h>
67 #include <linux/compat-3.8.h>
68 #include <linux/compat-3.9.h>
69 #include <linux/compat-3.10.h>
70 #include <linux/compat-3.11.h>
71 #include <linux/compat-3.12.h>
72 #include <linux/compat-3.13.h>
73 #include <linux/compat-3.14.h>
74 #include <linux/compat-3.15.h>
75 #include <linux/compat-3.16.h>
76 #include <linux/compat-3.17.h>
78 #endif /* LINUX_26_COMPAT_H */