]> git.pld-linux.org Git - packages/wl.git/blobdiff - kernel-5.18.patch
- fix building with kernel 5.18, rel 17
[packages/wl.git] / kernel-5.18.patch
diff --git a/kernel-5.18.patch b/kernel-5.18.patch
new file mode 100644 (file)
index 0000000..3a16514
--- /dev/null
@@ -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)
This page took 0.03586 seconds and 4 git commands to generate.