Message ID | 20240510113054.186648-2-thorsten.blum@toblux.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 5eefb477d21a26183bc3499aeefa991198315a2d |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v3] net: smc91x: Fix m68k kernel compilation for ColdFire CPU | expand |
On Fri, May 10, 2024 at 01:30:55PM +0200, Thorsten Blum wrote: > Compiling the m68k kernel with support for the ColdFire CPU family fails > with the following error: > > In file included from drivers/net/ethernet/smsc/smc91x.c:80: > drivers/net/ethernet/smsc/smc91x.c: In function ‘smc_reset’: > drivers/net/ethernet/smsc/smc91x.h:160:40: error: implicit declaration of function ‘_swapw’; did you mean ‘swap’? [-Werror=implicit-function-declaration] > 160 | #define SMC_outw(lp, v, a, r) writew(_swapw(v), (a) + (r)) > | ^~~~~~ > drivers/net/ethernet/smsc/smc91x.h:904:25: note: in expansion of macro ‘SMC_outw’ > 904 | SMC_outw(lp, x, ioaddr, BANK_SELECT); \ > | ^~~~~~~~ > drivers/net/ethernet/smsc/smc91x.c:250:9: note: in expansion of macro ‘SMC_SELECT_BANK’ > 250 | SMC_SELECT_BANK(lp, 2); > | ^~~~~~~~~~~~~~~ > cc1: some warnings being treated as errors > > The function _swapw() was removed in commit d97cf70af097 ("m68k: use > asm-generic/io.h for non-MMU io access functions"), but is still used in > drivers/net/ethernet/smsc/smc91x.h. > > Use ioread16be() and iowrite16be() to resolve the error. > > Fixes: d97cf70af097 ("m68k: use asm-generic/io.h for non-MMU io access functions") > Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> > --- > Changes in v2: > - Use ioread16be() and iowrite16be() directly instead of re-adding > _swapw() as suggested by Arnd Bergmann and Andrew Lunn > > Changes in v3: > - Add Fixes: tag This is for net. Cc: <stable@vger.kernel.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Fri, 10 May 2024 13:30:55 +0200 you wrote: > Compiling the m68k kernel with support for the ColdFire CPU family fails > with the following error: > > In file included from drivers/net/ethernet/smsc/smc91x.c:80: > drivers/net/ethernet/smsc/smc91x.c: In function ‘smc_reset’: > drivers/net/ethernet/smsc/smc91x.h:160:40: error: implicit declaration of function ‘_swapw’; did you mean ‘swap’? [-Werror=implicit-function-declaration] > 160 | #define SMC_outw(lp, v, a, r) writew(_swapw(v), (a) + (r)) > | ^~~~~~ > drivers/net/ethernet/smsc/smc91x.h:904:25: note: in expansion of macro ‘SMC_outw’ > 904 | SMC_outw(lp, x, ioaddr, BANK_SELECT); \ > | ^~~~~~~~ > drivers/net/ethernet/smsc/smc91x.c:250:9: note: in expansion of macro ‘SMC_SELECT_BANK’ > 250 | SMC_SELECT_BANK(lp, 2); > | ^~~~~~~~~~~~~~~ > cc1: some warnings being treated as errors > > [...] Here is the summary with links: - [v3] net: smc91x: Fix m68k kernel compilation for ColdFire CPU https://git.kernel.org/netdev/net/c/5eefb477d21a You are awesome, thank you!
diff --git a/drivers/net/ethernet/smsc/smc91x.h b/drivers/net/ethernet/smsc/smc91x.h index 46eee747c699..45ef5ac0788a 100644 --- a/drivers/net/ethernet/smsc/smc91x.h +++ b/drivers/net/ethernet/smsc/smc91x.h @@ -156,8 +156,8 @@ static inline void mcf_outsw(void *a, unsigned char *p, int l) writew(*wp++, a); } -#define SMC_inw(a, r) _swapw(readw((a) + (r))) -#define SMC_outw(lp, v, a, r) writew(_swapw(v), (a) + (r)) +#define SMC_inw(a, r) ioread16be((a) + (r)) +#define SMC_outw(lp, v, a, r) iowrite16be(v, (a) + (r)) #define SMC_insw(a, r, p, l) mcf_insw(a + r, p, l) #define SMC_outsw(a, r, p, l) mcf_outsw(a + r, p, l)
Compiling the m68k kernel with support for the ColdFire CPU family fails with the following error: In file included from drivers/net/ethernet/smsc/smc91x.c:80: drivers/net/ethernet/smsc/smc91x.c: In function ‘smc_reset’: drivers/net/ethernet/smsc/smc91x.h:160:40: error: implicit declaration of function ‘_swapw’; did you mean ‘swap’? [-Werror=implicit-function-declaration] 160 | #define SMC_outw(lp, v, a, r) writew(_swapw(v), (a) + (r)) | ^~~~~~ drivers/net/ethernet/smsc/smc91x.h:904:25: note: in expansion of macro ‘SMC_outw’ 904 | SMC_outw(lp, x, ioaddr, BANK_SELECT); \ | ^~~~~~~~ drivers/net/ethernet/smsc/smc91x.c:250:9: note: in expansion of macro ‘SMC_SELECT_BANK’ 250 | SMC_SELECT_BANK(lp, 2); | ^~~~~~~~~~~~~~~ cc1: some warnings being treated as errors The function _swapw() was removed in commit d97cf70af097 ("m68k: use asm-generic/io.h for non-MMU io access functions"), but is still used in drivers/net/ethernet/smsc/smc91x.h. Use ioread16be() and iowrite16be() to resolve the error. Fixes: d97cf70af097 ("m68k: use asm-generic/io.h for non-MMU io access functions") Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> --- Changes in v2: - Use ioread16be() and iowrite16be() directly instead of re-adding _swapw() as suggested by Arnd Bergmann and Andrew Lunn Changes in v3: - Add Fixes: tag --- drivers/net/ethernet/smsc/smc91x.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)