summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/sllin/files/0003-Allow-recent-kernels-newer-4.11.x-to-build.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/sllin/files/0003-Allow-recent-kernels-newer-4.11.x-to-build.patch')
-rw-r--r--recipes-kernel/sllin/files/0003-Allow-recent-kernels-newer-4.11.x-to-build.patch69
1 files changed, 69 insertions, 0 deletions
diff --git a/recipes-kernel/sllin/files/0003-Allow-recent-kernels-newer-4.11.x-to-build.patch b/recipes-kernel/sllin/files/0003-Allow-recent-kernels-newer-4.11.x-to-build.patch
new file mode 100644
index 000000000..c8f2f9268
--- /dev/null
+++ b/recipes-kernel/sllin/files/0003-Allow-recent-kernels-newer-4.11.x-to-build.patch
@@ -0,0 +1,69 @@
+From fcebb8f510bbb5c681f1f9af4506b4de241837dd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <jsmoeller@linuxfoundation.org>
+Date: Wed, 31 Oct 2018 20:48:20 +0000
+Subject: [PATCH] Allow recent kernels newer 4.11.x to build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+API changes enforce porting.
+
+Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
+---
+ sllin/sllin.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/sllin/sllin.c b/sllin/sllin.c
+index 2969448..7e17127 100644
+--- a/sllin/sllin.c
++++ b/sllin/sllin.c
+@@ -56,7 +56,12 @@
+ #include <linux/rtnetlink.h>
+ #include <linux/if_arp.h>
+ #include <linux/if_ether.h>
++#include <linux/version.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0)
+ #include <linux/sched.h>
++#else
++#include <uapi/linux/sched/types.h>
++#endif
+ #include <linux/delay.h>
+ #include <linux/init.h>
+ #include <linux/can.h>
+@@ -447,7 +451,9 @@ static int sll_open(struct net_device *dev)
+ static void sll_free_netdev(struct net_device *dev)
+ {
+ int i = dev->base_addr;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,9)
+ free_netdev(dev);
++#endif
+ sllin_devs[i] = NULL;
+ }
+
+@@ -460,7 +466,12 @@ static const struct net_device_ops sll_netdev_ops = {
+ static void sll_setup(struct net_device *dev)
+ {
+ dev->netdev_ops = &sll_netdev_ops;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,9)
+ dev->destructor = sll_free_netdev;
++#else
++ dev->needs_free_netdev = true;
++ dev->priv_destructor = sll_free_netdev;
++#endif
+
+ dev->hard_header_len = 0;
+ dev->addr_len = 0;
+@@ -1685,8 +1696,10 @@ static void __exit sllin_exit(void)
+ sl = netdev_priv(dev);
+ if (sl->tty) {
+ netdev_dbg(sl->dev, "tty discipline still running\n");
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,9)
+ /* Intentionally leak the control block. */
+ dev->destructor = NULL;
++#endif
+ }
+
+ unregister_netdev(dev);
+--
+2.13.7
+