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
82
83
84
85
86
87
88
89
90
91
92
93
|
--- r8101-1.032.04/src/r8101_n.c.old
+++ r8101-1.032.04/src/r8101_n.c
@@ -211,7 +211,11 @@
static void rtl8101_dsm(struct net_device *dev, int dev_state);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
static void rtl8101_esd_timer(unsigned long __opaque);
+#else
+static void rtl8101_esd_timer(struct timer_list *timer_list);
+#endif
static void rtl8101_hw_phy_config(struct net_device *dev);
@@ -220,7 +224,12 @@
static void rtl8101_tx_clear(struct rtl8101_private *tp);
static void rtl8101_rx_clear(struct rtl8101_private *tp);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
static void rtl8101_link_timer(unsigned long __opaque);
+#else
+static void rtl8101_link_timer(struct timer_list *timer_list);
+#endif
+
static void rtl8101_aspm_fix1(struct net_device *dev);
static int rtl8101_open(struct net_device *dev);
@@ -9132,8 +9141,11 @@
{
struct rtl8101_private *tp = netdev_priv(dev);
struct timer_list *timer = &tp->link_timer;
-
- setup_timer(timer, rtl8101_link_timer, (unsigned long)dev);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
+ setup_timer(timer, rtl8101_link_timer, (unsigned long)tp);
+#else
+ timer_setup(timer, rtl8101_link_timer, 0);
+#endif
mod_timer(timer, jiffies + RTL8101_LINK_TIMEOUT);
}
@@ -9147,7 +9159,11 @@
struct rtl8101_private *tp = netdev_priv(dev);
struct timer_list *timer = &tp->esd_timer;
- setup_timer(timer, rtl8101_esd_timer, (unsigned long)dev);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
+ setup_timer(timer, rtl8101_esd_timer, (unsigned long)tp);
+#else
+ timer_setup(timer, rtl8101_esd_timer, 0);
+#endif
mod_timer(timer, jiffies + RTL8101_ESD_TIMEOUT);
}
@@ -10486,10 +10502,16 @@
}
static void
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
rtl8101_esd_timer(unsigned long __opaque)
{
- struct net_device *dev = (struct net_device *)__opaque;
- struct rtl8101_private *tp = netdev_priv(dev);
+ struct rtl8101_private *tp = (struct rtl8101_private *)__opaque;
+#else
+rtl8101_esd_timer(struct timer_list *timer_list)
+{
+ struct rtl8101_private *tp = container_of(timer_list, struct rtl8101_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 = RTL8101_ESD_TIMEOUT;
@@ -10597,10 +10619,16 @@
}
static void
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
rtl8101_link_timer(unsigned long __opaque)
{
- struct net_device *dev = (struct net_device *)__opaque;
- struct rtl8101_private *tp = netdev_priv(dev);
+ struct rtl8101_private *tp = (struct rtl8101_private *)__opaque;
+#else
+rtl8101_link_timer(struct timer_list *timer_list)
+{
+ struct rtl8101_private *tp = container_of(timer_list, struct rtl8101_private, link_timer);
+#endif
+ struct net_device *dev = tp->dev;
struct timer_list *timer = &tp->link_timer;
unsigned long flags;
|