| From: Dan Murphy <dmurphy@ti.com> |
| Date: Fri, 24 Feb 2017 08:41:49 -0600 |
| Subject: [PATCH] lockdep: Fix compilation error for !CONFIG_MODULES and |
| !CONFIG_SMP |
| |
| When CONFIG_MODULES is not set then it fails to compile in lockdep: |
| |
| |kernel/locking/lockdep.c: In function 'look_up_lock_class': |
| |kernel/locking/lockdep.c:684:12: error: implicit declaration of function |
| | '__is_module_percpu_address' [-Werror=implicit-function-declaration] |
| |
| If CONFIG_MODULES is set but CONFIG_SMP is not, then it compiles but |
| fails link at the end: |
| |
| |kernel/locking/lockdep.c:684: undefined reference to `__is_module_percpu_address' |
| |kernel/built-in.o:(.debug_addr+0x1e674): undefined reference to `__is_module_percpu_address' |
| |
| This patch adds the function for both cases. |
| |
| Signed-off-by: Dan Murphy <dmurphy@ti.com> |
| [bigeasy: merge the two patches from Dan into one, adapt changelog] |
| Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
| --- |
| include/linux/module.h | 5 +++++ |
| kernel/module.c | 5 +++++ |
| 2 files changed, 10 insertions(+) |
| |
| --- a/include/linux/module.h |
| +++ b/include/linux/module.h |
| @@ -661,6 +661,11 @@ static inline bool is_module_percpu_addr |
| return false; |
| } |
| |
| +static inline bool __is_module_percpu_address(unsigned long addr, unsigned long *can_addr) |
| +{ |
| + return false; |
| +} |
| + |
| static inline bool is_module_text_address(unsigned long addr) |
| { |
| return false; |
| --- a/kernel/module.c |
| +++ b/kernel/module.c |
| @@ -739,6 +739,11 @@ bool is_module_percpu_address(unsigned l |
| return false; |
| } |
| |
| +bool __is_module_percpu_address(unsigned long addr, unsigned long *can_addr) |
| +{ |
| + return false; |
| +} |
| + |
| #endif /* CONFIG_SMP */ |
| |
| #define MODINFO_ATTR(field) \ |