| From ffb92ce826fd801acb0f4e15b75e4ddf0d189bde Mon Sep 17 00:00:00 2001 |
| From: Nathan Chancellor <nathan@kernel.org> |
| Date: Fri, 19 Nov 2021 16:43:28 -0800 |
| Subject: hexagon: export raw I/O routines for modules |
| |
| From: Nathan Chancellor <nathan@kernel.org> |
| |
| commit ffb92ce826fd801acb0f4e15b75e4ddf0d189bde upstream. |
| |
| Patch series "Fixes for ARCH=hexagon allmodconfig", v2. |
| |
| This series fixes some issues noticed with ARCH=hexagon allmodconfig. |
| |
| This patch (of 3): |
| |
| When building ARCH=hexagon allmodconfig, the following errors occur: |
| |
| ERROR: modpost: "__raw_readsl" [drivers/i3c/master/svc-i3c-master.ko] undefined! |
| ERROR: modpost: "__raw_writesl" [drivers/i3c/master/dw-i3c-master.ko] undefined! |
| ERROR: modpost: "__raw_readsl" [drivers/i3c/master/dw-i3c-master.ko] undefined! |
| ERROR: modpost: "__raw_writesl" [drivers/i3c/master/i3c-master-cdns.ko] undefined! |
| ERROR: modpost: "__raw_readsl" [drivers/i3c/master/i3c-master-cdns.ko] undefined! |
| |
| Export these symbols so that modules can use them without any errors. |
| |
| Link: https://lkml.kernel.org/r/20211115174250.1994179-1-nathan@kernel.org |
| Link: https://lkml.kernel.org/r/20211115174250.1994179-2-nathan@kernel.org |
| Fixes: 013bf24c3829 ("Hexagon: Provide basic implementation and/or stubs for I/O routines.") |
| Signed-off-by: Nathan Chancellor <nathan@kernel.org> |
| Acked-by: Brian Cain <bcain@codeaurora.org> |
| Cc: Nick Desaulniers <ndesaulniers@google.com> |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/hexagon/lib/io.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/arch/hexagon/lib/io.c |
| +++ b/arch/hexagon/lib/io.c |
| @@ -27,6 +27,7 @@ void __raw_readsw(const void __iomem *ad |
| *dst++ = *src; |
| |
| } |
| +EXPORT_SYMBOL(__raw_readsw); |
| |
| /* |
| * __raw_writesw - read words a short at a time |
| @@ -47,6 +48,7 @@ void __raw_writesw(void __iomem *addr, c |
| |
| |
| } |
| +EXPORT_SYMBOL(__raw_writesw); |
| |
| /* Pretty sure len is pre-adjusted for the length of the access already */ |
| void __raw_readsl(const void __iomem *addr, void *data, int len) |
| @@ -62,6 +64,7 @@ void __raw_readsl(const void __iomem *ad |
| |
| |
| } |
| +EXPORT_SYMBOL(__raw_readsl); |
| |
| void __raw_writesl(void __iomem *addr, const void *data, int len) |
| { |
| @@ -76,3 +79,4 @@ void __raw_writesl(void __iomem *addr, c |
| |
| |
| } |
| +EXPORT_SYMBOL(__raw_writesl); |