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;
openSUSE Build Service is sponsored by