compiler.h, kprobes.h: add missing header files

I forgot to add these, and fix a few compile errors.

Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
diff --git a/arch/x86/kernel/init.c b/arch/x86/kernel/init.c
index f16f1d4..e7ed26f 100644
--- a/arch/x86/kernel/init.c
+++ b/arch/x86/kernel/init.c
@@ -24,7 +24,7 @@
 	int ret;
 	struct x86_init_fn *init_fn;
 
-	unsigned int num_inits = SECTION_RANGE_SIZE(x86_init_fns);
+	unsigned int num_inits = LINUX_SECTION_SIZE(x86_init_fns);
 
 	pr_info("Number of init entries: %d\n", num_inits);
 
diff --git a/arch/x86/kernel/sort-init.c b/arch/x86/kernel/sort-init.c
index 6a1f068..6bf5eac 100644
--- a/arch/x86/kernel/sort-init.c
+++ b/arch/x86/kernel/sort-init.c
@@ -102,13 +102,13 @@
 
 void __ref x86_init_fn_init_tables(void)
 {
-	unsigned int num_inits = SECTION_RANGE_SIZE(x86_init_fns);
+	unsigned int num_inits = LINUX_SECTION_SIZE(x86_init_fns);
 
 	if (!num_inits)
 		return;
 
-	x86_init_fn_sort(SECTION_RANGE_START(x86_init_fns),
-			 SECTION_RANGE_END(x86_init_fns));
-	x86_init_fn_check(SECTION_RANGE_START(x86_init_fns),
-			  SECTION_RANGE_END(x86_init_fns));
+	x86_init_fn_sort(LINUX_SECTION_START(x86_init_fns),
+			 LINUX_SECTION_END(x86_init_fns));
+	x86_init_fn_check(LINUX_SECTION_START(x86_init_fns),
+			  LINUX_SECTION_END(x86_init_fns));
 }
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
new file mode 100644
index 0000000..1a98213
--- /dev/null
+++ b/include/linux/compiler.h
@@ -0,0 +1,10 @@
+#ifndef __LINUX_COMPILER_H
+#define __LINUX_COMPILER_H
+
+#include <linux/sections.h>
+
+#ifdef CONFIG_KPROBES
+#define __kprobes	__LINUX_SECTION(SECTION_TEXT, kprobes)
+#endif
+
+#endif /* __LINUX_COMPILER_H */
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
new file mode 100644
index 0000000..de5c9ec
--- /dev/null
+++ b/include/linux/kprobes.h
@@ -0,0 +1,4 @@
+#include <linux/ranges.h>
+#include <linux/compiler.h>
+
+DECLARE_SECTION_RANGE(kprobes);