File broadcom-wl.linux-5.17.patch of Package broadcom-wl
From: Eduard Bloch <blade@debian.org>
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 <diegoe@gnome.org>
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/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index a63cc4d..46e5ce5 100644
--- a/src/wl/sys/wl_linux.c
+++ b/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, 14, 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, 14, 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, 14, 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;