Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
[cascardo/linux.git] / include / linux / extable.h
1 #ifndef _LINUX_EXTABLE_H
2 #define _LINUX_EXTABLE_H
3
4 #include <linux/stddef.h>       /* for NULL */
5
6 struct module;
7 struct exception_table_entry;
8
9 const struct exception_table_entry *
10 search_extable(const struct exception_table_entry *first,
11                const struct exception_table_entry *last,
12                unsigned long value);
13 void sort_extable(struct exception_table_entry *start,
14                   struct exception_table_entry *finish);
15 void sort_main_extable(void);
16 void trim_init_extable(struct module *m);
17
18 /* Given an address, look for it in the exception tables */
19 const struct exception_table_entry *search_exception_tables(unsigned long add);
20
21 #ifdef CONFIG_MODULES
22 /* For extable.c to search modules' exception tables. */
23 const struct exception_table_entry *search_module_extables(unsigned long addr);
24 #else
25 static inline const struct exception_table_entry *
26 search_module_extables(unsigned long addr)
27 {
28         return NULL;
29 }
30 #endif /*CONFIG_MODULES*/
31
32 #endif /* _LINUX_EXTABLE_H */