forked from openwrt/openwrt
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
broadcom-wl: Fix compilation with kernel 5.10
This adds a few fixes for compiling against Linux 5.10: 1. segment_eq() has been removed with upstream commit 428e2976a5bf7e7f5554286d7a5a33b8147b106a ("uaccess: remove segment_eq") and can use uaccess_kernel() instead 2. ioremap_nocache() is removed and is now an alias for ioremap() with upstream commit 4bdc0d676a643140bdf17dbf7eafedee3d496a3c ("remove ioremap_nocache and devm_ioremap_nocache") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
- Loading branch information
Showing
4 changed files
with
50 additions
and
8 deletions.
There are no files selected for viewing
6 changes: 3 additions & 3 deletions
6
package/kernel/broadcom-wl/patches/040-remove_last_rx_usage.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
package/kernel/broadcom-wl/patches/916-fix-compilation-for-5_4.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
42 changes: 42 additions & 0 deletions
42
package/kernel/broadcom-wl/patches/917-fix-compilation-for-5_10.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
Index: broadcom-wl-5.10.56.27.3/driver/wl_linux.c | ||
=================================================================== | ||
--- broadcom-wl-5.10.56.27.3.orig/driver/wl_linux.c | ||
+++ broadcom-wl-5.10.56.27.3/driver/wl_linux.c | ||
@@ -74,6 +74,10 @@ | ||
#error "No support for Kernel Rev <= 2.4.5, As the older kernel revs doesn't support Tasklets" | ||
#endif | ||
|
||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) | ||
+#define ioremap_nocache ioremap | ||
+#endif | ||
+ | ||
typedef void wlc_info_t; | ||
typedef void wlc_hw_info_t; | ||
#include <wlc_pub.h> | ||
@@ -1915,7 +1919,11 @@ wl_ioctl(struct net_device *dev, struct | ||
} | ||
|
||
/* optimization for direct ioctl calls from kernel */ | ||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0) | ||
if (segment_eq(get_fs(), KERNEL_DS)) | ||
+#else | ||
+ if (uaccess_kernel()) | ||
+#endif | ||
buf = ioc.buf; | ||
|
||
else if (ioc.buf) { | ||
Index: broadcom-wl-5.10.56.27.3/driver/linux_osl.c | ||
=================================================================== | ||
--- broadcom-wl-5.10.56.27.3.orig/driver/linux_osl.c | ||
+++ broadcom-wl-5.10.56.27.3/driver/linux_osl.c | ||
@@ -34,6 +34,10 @@ | ||
#define OS_HANDLE_MAGIC 0x1234abcd /* Magic # to recognise osh */ | ||
#define BCM_MEM_FILENAME_LEN 24 /* Mem. filename length */ | ||
|
||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) | ||
+#define ioremap_nocache ioremap | ||
+#endif | ||
+ | ||
typedef struct bcm_mem_link { | ||
struct bcm_mem_link *prev; | ||
struct bcm_mem_link *next; |