summarylogtreecommitdiffstats
path: root/linux-4.15.patch
blob: a317e22533e91eb1d55c8d3f96b23deec72a45bd (plain)
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
70
71
72
73
74
75
76
77
78
79
80
81
diff -u -r r8168-8.045.08/src/r8168_n.c r8168-8.045.08-4.15/src/r8168_n.c
--- r8168-8.045.08/src/r8168_n.c	2017-09-22 17:31:17.000000000 +0200
+++ r8168-8.045.08-4.15/src/r8168_n.c	2018-01-29 12:33:34.283394438 +0100
@@ -407,8 +407,13 @@
 static void rtl8168_sleep_rx_enable(struct net_device *dev);
 static void rtl8168_dsm(struct net_device *dev, int dev_state);
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
 static void rtl8168_esd_timer(unsigned long __opaque);
 static void rtl8168_link_timer(unsigned long __opaque);
+#else
+static void rtl8168_esd_timer(struct timer_list *timer_list);
+static void rtl8168_link_timer(struct timer_list *timer_list);
+#endif
 static void rtl8168_tx_clear(struct rtl8168_private *tp);
 static void rtl8168_rx_clear(struct rtl8168_private *tp);
 
@@ -22964,7 +22969,11 @@
         struct rtl8168_private *tp = netdev_priv(dev);
         struct timer_list *timer = &tp->esd_timer;
 
-        setup_timer(timer, rtl8168_esd_timer, (unsigned long)dev);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
+        setup_timer(timer, rtl8168_esd_timer, (unsigned long)tp);
+#else
+        timer_setup(timer, rtl8168_esd_timer, 0);
+#endif
         mod_timer(timer, jiffies + RTL8168_ESD_TIMEOUT);
 }
 
@@ -22978,7 +22987,11 @@
         struct rtl8168_private *tp = netdev_priv(dev);
         struct timer_list *timer = &tp->link_timer;
 
-        setup_timer(timer, rtl8168_link_timer, (unsigned long)dev);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
+        setup_timer(timer, rtl8168_link_timer, (unsigned long)tp);
+#else
+        timer_setup(timer, rtl8168_link_timer, 0);
+#endif
         mod_timer(timer, jiffies + RTL8168_LINK_TIMEOUT);
 }
 
@@ -24717,10 +24730,16 @@
 #define PCI_DEVICE_SERIAL_NUMBER (0x0164)
 
 static void
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
 rtl8168_esd_timer(unsigned long __opaque)
 {
-        struct net_device *dev = (struct net_device *)__opaque;
-        struct rtl8168_private *tp = netdev_priv(dev);
+        struct rtl8168_private *tp = (struct rtl8168_private *)__opaque;
+#else
+rtl8168_esd_timer(struct timer_list *timer_list)
+{
+        struct rtl8168_private *tp = container_of(timer_list, struct rtl8168_private, esd_timer);
+#endif
+        struct net_device *dev = tp->dev;
         struct pci_dev *pdev = tp->pci_dev;
         struct timer_list *timer = &tp->esd_timer;
         unsigned long timeout = RTL8168_ESD_TIMEOUT;
@@ -24856,10 +24875,16 @@
 }
 
 static void
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
 rtl8168_link_timer(unsigned long __opaque)
 {
-        struct net_device *dev = (struct net_device *)__opaque;
-        struct rtl8168_private *tp = netdev_priv(dev);
+        struct rtl8168_private *tp = (struct rtl8168_private *)__opaque;
+#else
+rtl8168_link_timer(struct timer_list *timer_list)
+{
+        struct rtl8168_private *tp = container_of(timer_list, struct rtl8168_private, link_timer);
+#endif
+        struct net_device *dev = tp->dev;
         struct timer_list *timer = &tp->link_timer;
         unsigned long flags;