---- broadcom-wl-5.10.56.27.3/driver/wl_linux.c.orig 2018-01-13 18:25:14.944667645 +0100
-+++ broadcom-wl-5.10.56.27.3/driver/wl_linux.c 2018-01-13 18:25:25.836667888 +0100
-@@ -2762,7 +2762,6 @@
+--- a/driver/wl_linux.c
++++ b/driver/wl_linux.c
+@@ -2762,7 +2762,6 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rx
bcopy(oskb->data + D11_PHY_HDR_LEN, pdata, oskb->len - D11_PHY_HDR_LEN);
skb->dev = wl->monitor;
--- a/driver/wl_linux.c
+++ b/driver/wl_linux.c
-@@ -235,7 +235,11 @@
+@@ -235,7 +235,11 @@ struct wl_info {
};
static void _wl_timer(wl_timer_t *t);
#ifdef WLC_HIGH_ONLY
-@@ -2512,6 +2517,18 @@
+@@ -2512,6 +2516,18 @@ wl_timer_task(wl_task_t *task)
}
#endif /* WLC_HIGH_ONLY */
static void
wl_timer(ulong data)
{
-@@ -2522,6 +2539,7 @@
+@@ -2522,6 +2538,7 @@ wl_timer(ulong data)
wl_schedule_task(t->wl, wl_timer_task, t);
#endif /* WLC_HIGH_ONLY */
}
static void
_wl_timer(wl_timer_t *t)
-@@ -2573,9 +2591,13 @@
+@@ -2573,9 +2590,13 @@ wl_init_timer(wl_info_t *wl, void (*fn)(
bzero(t, sizeof(wl_timer_t));
--- /dev/null
+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;