Fix eth_hw_addr_set() definition for compatibility with stable branches

eth_hw_addr_set() was added in Linux 5.15 but has now been backported
to 4.19.291, 5.4.251, and 5.10.188.  This currently results in build
failure for these stable branches.

There's no simple way to test for the addition of this function since
LINUX_VERSION_CODE limits version components to 255.

Work around this by defining an inline function rtw_eth_hw_addr_set()
and a macro eth_hw_addr_set().  This effectively shadows any
backported definition of the eth_hw_addr_set() function without any
conflict.

Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
This commit is contained in:
Ben Hutchings 2023-11-07 18:12:18 +01:00
parent 8b485b79be
commit b3f7e7a428

View File

@ -17,10 +17,11 @@
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)) #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0))
/* Porting from linux kernel v5.15 48eab831ae8b9f7002a533fa4235eed63ea1f1a3 3f6cffb8604b537e3d7ea040d7f4368689638eaf*/ /* Porting from linux kernel v5.15 48eab831ae8b9f7002a533fa4235eed63ea1f1a3 3f6cffb8604b537e3d7ea040d7f4368689638eaf*/
static inline void eth_hw_addr_set(struct net_device *dev, const u8 *addr) static inline void rtw_eth_hw_addr_set(struct net_device *dev, const u8 *addr)
{ {
memcpy(dev->dev_addr, addr, ETH_ALEN); memcpy(dev->dev_addr, addr, ETH_ALEN);
} }
#define eth_hw_addr_set rtw_eth_hw_addr_set
#endif #endif
#endif #endif