1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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
|