From 76a34782395ca71b4ea85a5a7821d5f15b47299d Mon Sep 17 00:00:00 2001 From: Krzysztof Baranowski Date: Mon, 20 Mar 2023 12:04:59 -0700 Subject: nongnu: broadcom-sta: Use Nixpkgs patch list. Piggy-back off of the patch list in Nixpkgs instead of maintaining our own. This should make it easier to keep up to date so there's no need to advise users to stick with Linux LTS releases any longer. Though our existing patch list and Nixpkgs' differ the cumulative effect is exactly the same except for two patches we have that Nix doesn't, neither of which seem critical: - broadcom-sta-debian-fix-kernel-warnings.patch - broadcom-sta-fix_mac_profile_discrepancy.patch Closes #246 * nongnu/packages/linux.scm (broadcom-sta): Replace patches with code to fetch them from Nixpkgs. [arguments]: Replace `linux-lts` with `linux`. [description]: Remove Linux LTS recommendation. * nongnu/packages/patches/broadcom-sta-debian-fix-kernel-warnings.patch: Remove. * nongnu/packages/patches/broadcom-sta-fix_mac_profile_discrepancy.patch: Remove. * nongnu/packages/patches/broadcom-sta-gcc.patch: Remove. * nongnu/packages/patches/broadcom-sta-license.patch: Remove. * nongnu/packages/patches/broadcom-sta-linux-4.11.patch: Remove. * nongnu/packages/patches/broadcom-sta-linux-4.12.patch: Remove. * nongnu/packages/patches/broadcom-sta-linux-4.15.patch: Remove. * nongnu/packages/patches/broadcom-sta-linux-4.7.patch: Remove. * nongnu/packages/patches/broadcom-sta-linux-4.8.patch: Remove. * nongnu/packages/patches/broadcom-sta-linux-5.1.patch: Remove. * nongnu/packages/patches/broadcom-sta-linux-5.10.patch: Remove. * nongnu/packages/patches/broadcom-sta-linux-5.6.patch: Remove. * nongnu/packages/patches/broadcom-sta-linux-5.9.patch: Remove. * nongnu/packages/patches/broadcom-sta-null-pointer-fix.patch: Remove. * nongnu/packages/patches/broadcom-sta-rdtscl.patch: Remove. * README.org (Broadcom Wireless): Removed recommendation from Broadcom Wireless section. Signed-off-by: Jonathan Brielmaier --- .../packages/patches/broadcom-sta-linux-5.6.patch | 87 ---------------------- 1 file changed, 87 deletions(-) delete mode 100644 nongnu/packages/patches/broadcom-sta-linux-5.6.patch (limited to 'nongnu/packages/patches/broadcom-sta-linux-5.6.patch') diff --git a/nongnu/packages/patches/broadcom-sta-linux-5.6.patch b/nongnu/packages/patches/broadcom-sta-linux-5.6.patch deleted file mode 100644 index df5af79..0000000 --- a/nongnu/packages/patches/broadcom-sta-linux-5.6.patch +++ /dev/null @@ -1,87 +0,0 @@ -From dd057e40a167f4febb1a7c77dd32b7d36056952c Mon Sep 17 00:00:00 2001 -From: Herman van Hazendonk -Date: Tue, 31 Mar 2020 17:09:55 +0200 -Subject: [PATCH] Add fixes for 5.6 kernel - -Use ioremap instead of ioremap_nocache and proc_ops instead of file_operations on Linux kernel 5.6 and above. - -Signed-off-by: Herman van Hazendonk ---- - src/shared/linux_osl.c | 6 +++++- - src/wl/sys/wl_linux.c | 21 ++++++++++++++++++++- - 2 files changed, 25 insertions(+), 2 deletions(-) - -diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c -index 6157d18..dcfc075 100644 ---- a/src/shared/linux_osl.c -+++ b/src/shared/linux_osl.c -@@ -942,7 +942,11 @@ osl_getcycles(void) - void * - osl_reg_map(uint32 pa, uint size) - { -- return (ioremap_nocache((unsigned long)pa, (unsigned long)size)); -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ return (ioremap((unsigned long)pa, (unsigned long)size)); -+ #else -+ return (ioremap_nocache((unsigned long)pa, (unsigned long)size)); -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - } - - void -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 0d05100..6d9dd0d 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -582,10 +582,17 @@ wl_attach(uint16 vendor, uint16 device, ulong regs, - } - wl->bcm_bustype = bustype; - -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ if ((wl->regsva = ioremap(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { -+ WL_ERROR(("wl%d: ioremap() failed\n", unit)); -+ goto fail; -+ } -+ #else - if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { - WL_ERROR(("wl%d: ioremap() failed\n", unit)); - goto fail; - } -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - - wl->bar1_addr = bar1_addr; - wl->bar1_size = bar1_size; -@@ -772,8 +779,13 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - if ((val & 0x0000ff00) != 0) - pci_write_config_dword(pdev, 0x40, val & 0xffff00ff); - bar1_size = pci_resource_len(pdev, 2); -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2), -+ bar1_size); -+ #else - bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), - bar1_size); -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev, - pdev->irq, bar1_addr, bar1_size); - -@@ -3335,12 +3347,19 @@ wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t - } - - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+static const struct proc_ops wl_fops = { -+ .proc_read = wl_proc_read, -+ .proc_write = wl_proc_write, -+}; -+#else - static const struct file_operations wl_fops = { - .owner = THIS_MODULE, - .read = wl_proc_read, - .write = wl_proc_write, - }; --#endif -+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ -+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) */ - - static int - wl_reg_proc_entry(wl_info_t *wl) -- cgit v1.2.3