diff options
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.patch | 69 |
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 + |