From: Eduard Bloch Date: Sun, 8 May 2022 23:03:35 +0200 Subject: wl: Update for linux-5.17+ deprecations Update for various deprecated APIs. Original SVN information: 6.30.223.271-29: add patch for linux 5.17 git-svn-id: file:///srv/repos/svn-community/svn@1171161 9fca08f4-af9d-4005-b8df-a31f2cc04f65 heftig committed on 23 Mar Co-Authored-By: Diego Escalante Urrelo Based-on: https://raw.githubusercontent.com/archlinux/svntogit-community/master/broadcom-wl-dkms/trunk/012-linux517.patch --- amd64/src/wl/sys/wl_linux.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/amd64/src/wl/sys/wl_linux.c b/amd64/src/wl/sys/wl_linux.c index a63cc4d..46e5ce5 100644 --- a/amd64/src/wl/sys/wl_linux.c +++ b/amd64/src/wl/sys/wl_linux.c @@ -647,7 +647,11 @@ wl_attach(uint16 vendor, uint16 device, ulong regs, WL_ERROR(("wl%d: Error setting MAC ADDRESS\n", unit)); } #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) bcopy(&wl->pub->cur_etheraddr, dev->dev_addr, ETHER_ADDR_LEN); +#else + eth_hw_addr_set(dev, wl->pub->cur_etheraddr.octet); +#endif online_cpus = 1; @@ -1858,7 +1862,11 @@ wl_set_mac_address(struct net_device *dev, void *addr) wl->pub->unit)); return OSL_ERROR(err); } else { +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) bcopy(sa->sa_data, dev->dev_addr, ETHER_ADDR_LEN); +#else + eth_hw_addr_set(dev, sa->sa_data); +#endif return 0; } } @@ -3030,7 +3038,11 @@ _wl_add_monitor_if(wl_task_t *task) else dev->type = ARPHRD_IEEE80211_RADIOTAP; +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) bcopy(wl->dev->dev_addr, dev->dev_addr, ETHER_ADDR_LEN); +#else + eth_hw_addr_set(dev, wl->dev->dev_addr); +#endif #if defined(WL_USE_NETDEV_OPS) dev->netdev_ops = &wl_netdev_monitor_ops; @@ -3311,7 +3323,11 @@ wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, voi static ssize_t wl_proc_read(struct file *filp, char __user *buffer, size_t length, loff_t *offp) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) wl_info_t * wl = PDE_DATA(file_inode(filp)); +#else + wl_info_t * wl = pde_data(file_inode(filp)); +#endif #endif int bcmerror, len; int to_user = 0; @@ -3368,7 +3384,11 @@ wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *d static ssize_t wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t *offp) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) wl_info_t * wl = PDE_DATA(file_inode(filp)); +#else + wl_info_t * wl = pde_data(file_inode(filp)); +#endif #endif int from_user = 0; int bcmerror;