[packages/wl] - fix building with kernel 5.18, rel 17

baggins baggins at pld-linux.org
Thu May 26 10:39:46 CEST 2022


commit 052445a49935301bf0d5a26fc20dc9fec7149104
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Thu May 26 10:39:29 2022 +0200

    - fix building with kernel 5.18, rel 17

 kernel-5.18.patch | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 wl.spec           |  4 ++-
 2 files changed, 79 insertions(+), 1 deletion(-)
---
diff --git a/wl.spec b/wl.spec
index 1b51e0d..3ae8d8d 100644
--- a/wl.spec
+++ b/wl.spec
@@ -18,7 +18,7 @@ exit 1
 
 %define		_duplicate_files_terminate_build	0
 
-%define		rel	16
+%define		rel	17
 %define		pname	wl
 %define		file_ver	%(echo %{version} | tr . _)
 Summary:	Broadcom 802.11 a/b/g/n hybrid Linux networking device driver
@@ -48,6 +48,7 @@ Patch9:		kernel-4.14.patch
 Patch10:	linux-5.6.patch
 Patch11:	kernel-5.10.patch
 Patch12:	kernel-5.17.patch
+Patch13:	kernel-5.18.patch
 URL:		http://www.broadcom.com/support/802.11
 BuildRequires:	rpmbuild(macros) >= 1.701
 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
@@ -139,6 +140,7 @@ EOF\
 %patch10 -p2
 %patch11 -p1
 %patch12 -p2
+%patch13 -p2
 
 mkdir wl
 mv lib src Makefile wl/
diff --git a/kernel-5.18.patch b/kernel-5.18.patch
new file mode 100644
index 0000000..3a16514
--- /dev/null
+++ b/kernel-5.18.patch
@@ -0,0 +1,76 @@
+--- wl-6.30.223.271/wl/src/shared/linux_osl.c.orig	2022-05-26 06:57:58.000000000 +0200
++++ wl-6.30.223.271/wl/src/shared/linux_osl.c	2022-05-26 10:37:05.148803952 +0200
+@@ -600,7 +600,11 @@
+ 	if (va)
+ 		*pap = (ulong)__virt_to_phys(va);
+ #else
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
+ 	va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap);
++#else
++	va = dma_alloc_coherent(&((struct pci_dev *)osh->pdev)->dev, size, (dma_addr_t*)pap, GFP_ATOMIC);
++#endif
+ #endif
+ 	return va;
+ }
+@@ -613,7 +617,11 @@
+ #ifdef __ARM_ARCH_7A__
+ 	kfree(va);
+ #else
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
+ 	pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa);
++#else
++	dma_free_coherent(&((struct pci_dev *)osh->pdev)->dev, size, va, (dma_addr_t)pa);
++#endif
+ #endif
+ }
+ 
+@@ -623,7 +631,11 @@
+ 	int dir;
+ 
+ 	ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
+ 	dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
++#else
++	dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE;
++#endif
+ 
+ #if defined(__ARM_ARCH_7A__) && defined(BCMDMASGLISTOSL)
+ 	if (dmah != NULL) {
+@@ -641,7 +653,11 @@
+ 				ASSERT(totsegs + nsegs <= MAX_DMA_SEGS);
+ 				sg->page_link = 0;
+ 				sg_set_buf(sg, PKTDATA(osh, skb), PKTLEN(osh, skb));
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
+ 				pci_map_single(osh->pdev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir);
++#else
++				dma_map_single(&osh->pdev->dev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir);
++#endif
+ 			}
+ 			totsegs += nsegs;
+ 			totlen += PKTLEN(osh, skb);
+@@ -656,7 +672,11 @@
+ 	}
+ #endif 
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
+ 	return (pci_map_single(osh->pdev, va, size, dir));
++#else
++	return (dma_map_single(&((struct pci_dev *)osh->pdev)->dev, va, size, dir));
++#endif
+ }
+ 
+ void BCMFASTPATH
+@@ -665,8 +685,13 @@
+ 	int dir;
+ 
+ 	ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
+ 	dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
+ 	pci_unmap_single(osh->pdev, (uint32)pa, size, dir);
++#else
++	dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE;
++	dma_unmap_single(&((struct pci_dev *)osh->pdev)->dev, (uint32)pa, size, dir);
++#endif
+ }
+ 
+ #if defined(BCMDBG_ASSERT)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/wl.git/commitdiff/052445a49935301bf0d5a26fc20dc9fec7149104



More information about the pld-cvs-commit mailing list