972c142d9e2cc9316cc80b2745fa789d198b4324
[compat-rdma/compat.git] / compat / main.c
1 #include <linux/module.h>
2
3 MODULE_AUTHOR("Luis R. Rodriguez");
4 MODULE_DESCRIPTION("Kernel compatibility module");
5 MODULE_LICENSE("GPL");
6
7 #ifndef COMPAT_BASE
8 #error "You need a COMPAT_BASE"
9 #endif
10
11 #ifndef COMPAT_BASE_TREE
12 #error "You need a COMPAT_BASE_TREE"
13 #endif
14
15 #ifndef COMPAT_BASE_TREE_VERSION
16 #error "You need a COMPAT_BASE_TREE_VERSION"
17 #endif
18
19 #ifndef COMPAT_VERSION
20 #error "You need a COMPAT_VERSION"
21 #endif
22
23 static char *compat_base = COMPAT_BASE;
24 static char *compat_base_tree = COMPAT_BASE_TREE;
25 static char *compat_base_tree_version = COMPAT_BASE_TREE_VERSION;
26 static char *compat_version = COMPAT_VERSION;
27
28 module_param(compat_base, charp, 0400);
29 MODULE_PARM_DESC(compat_base_tree,
30                  "The upstream verion of compat.git used");
31
32 module_param(compat_base_tree, charp, 0400);
33 MODULE_PARM_DESC(compat_base_tree,
34                  "The upstream tree used as base for this backport");
35
36 module_param(compat_base_tree_version, charp, 0400);
37 MODULE_PARM_DESC(compat_base_tree_version,
38                  "The git-describe of the upstream base tree");
39
40 module_param(compat_version, charp, 0400);
41 MODULE_PARM_DESC(compat_version,
42                  "Version of the kernel compat backport work");
43
44 void compat_dependency_symbol(void)
45 {
46 }
47 EXPORT_SYMBOL_GPL(compat_dependency_symbol);
48
49
50 static int __init compat_init(void)
51 {
52         compat_pm_qos_power_init();
53         compat_system_workqueue_create();
54         init_compat_mmc_pm_flags();
55
56         printk(KERN_INFO
57                COMPAT_PROJECT " backport release: "
58                COMPAT_VERSION
59                "\n");
60         printk(KERN_INFO "Backport based on "
61                COMPAT_BASE_TREE " " COMPAT_BASE_TREE_VERSION
62                "\n");
63         printk(KERN_INFO "compat.git: "
64                COMPAT_BASE_TREE "\n");
65
66         return 0;
67 }
68 module_init(compat_init);
69
70 static void __exit compat_exit(void)
71 {
72         compat_pm_qos_power_deinit();
73         compat_system_workqueue_destroy();
74
75         return;
76 }
77 module_exit(compat_exit);
78