[PATCH] microblaze: Export xmb_manager functions

Michal Simek posted 1 patch 1 year, 6 months ago
arch/microblaze/kernel/microblaze_ksyms.c | 10 ++++++++++
1 file changed, 10 insertions(+)
[PATCH] microblaze: Export xmb_manager functions
Posted by Michal Simek 1 year, 6 months ago
When TMR_MANAGER is enabled as module there is a need to export functions
which are present in architecture code.

It has been found by running:
make W=1 C=1 allmodconfig
sed -i -e 's/WERROR=y/WERROR=n/g' .config
make C=1 W=1

which errors out like this:
ERROR: modpost: "xmb_manager_register" [drivers/misc/xilinx_tmr_manager.ko] undefined!
ERROR: modpost: "xmb_inject_err" [drivers/misc/xilinx_tmr_inject.ko] undefined!

Fixes: a5e3aaa654c1 ("microblaze: Add xmb_manager_register function")
Reported-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
---

 arch/microblaze/kernel/microblaze_ksyms.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/microblaze/kernel/microblaze_ksyms.c b/arch/microblaze/kernel/microblaze_ksyms.c
index c892e173ec99..a8553f54152b 100644
--- a/arch/microblaze/kernel/microblaze_ksyms.c
+++ b/arch/microblaze/kernel/microblaze_ksyms.c
@@ -16,6 +16,7 @@
 #include <asm/page.h>
 #include <linux/ftrace.h>
 #include <linux/uaccess.h>
+#include <asm/xilinx_mb_manager.h>
 
 #ifdef CONFIG_FUNCTION_TRACER
 extern void _mcount(void);
@@ -46,3 +47,12 @@ extern void __udivsi3(void);
 EXPORT_SYMBOL(__udivsi3);
 extern void __umodsi3(void);
 EXPORT_SYMBOL(__umodsi3);
+
+#ifdef CONFIG_MB_MANAGER
+extern void xmb_manager_register(uintptr_t phys_baseaddr, u32 cr_val,
+				 void (*callback)(void *data),
+				 void *priv, void (*reset_callback)(void *data));
+EXPORT_SYMBOL(xmb_manager_register);
+extern asmlinkage void xmb_inject_err(void);
+EXPORT_SYMBOL(xmb_inject_err);
+#endif
-- 
2.43.0
Re: [PATCH] microblaze: Export xmb_manager functions
Posted by Michal Simek 1 year, 4 months ago

On 6/19/24 14:11, Michal Simek wrote:
> When TMR_MANAGER is enabled as module there is a need to export functions
> which are present in architecture code.
> 
> It has been found by running:
> make W=1 C=1 allmodconfig
> sed -i -e 's/WERROR=y/WERROR=n/g' .config
> make C=1 W=1
> 
> which errors out like this:
> ERROR: modpost: "xmb_manager_register" [drivers/misc/xilinx_tmr_manager.ko] undefined!
> ERROR: modpost: "xmb_inject_err" [drivers/misc/xilinx_tmr_inject.ko] undefined!
> 
> Fixes: a5e3aaa654c1 ("microblaze: Add xmb_manager_register function")
> Reported-by: Jeff Johnson <quic_jjohnson@quicinc.com>
> Signed-off-by: Michal Simek <michal.simek@amd.com>
> ---
> 
>   arch/microblaze/kernel/microblaze_ksyms.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/arch/microblaze/kernel/microblaze_ksyms.c b/arch/microblaze/kernel/microblaze_ksyms.c
> index c892e173ec99..a8553f54152b 100644
> --- a/arch/microblaze/kernel/microblaze_ksyms.c
> +++ b/arch/microblaze/kernel/microblaze_ksyms.c
> @@ -16,6 +16,7 @@
>   #include <asm/page.h>
>   #include <linux/ftrace.h>
>   #include <linux/uaccess.h>
> +#include <asm/xilinx_mb_manager.h>
>   
>   #ifdef CONFIG_FUNCTION_TRACER
>   extern void _mcount(void);
> @@ -46,3 +47,12 @@ extern void __udivsi3(void);
>   EXPORT_SYMBOL(__udivsi3);
>   extern void __umodsi3(void);
>   EXPORT_SYMBOL(__umodsi3);
> +
> +#ifdef CONFIG_MB_MANAGER
> +extern void xmb_manager_register(uintptr_t phys_baseaddr, u32 cr_val,
> +				 void (*callback)(void *data),
> +				 void *priv, void (*reset_callback)(void *data));
> +EXPORT_SYMBOL(xmb_manager_register);
> +extern asmlinkage void xmb_inject_err(void);
> +EXPORT_SYMBOL(xmb_inject_err);
> +#endif

Applied.
M