Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=kernelbump.git;a=commitdiff;h=da5d5ded8da64a8583782022d27a9a7c2460dc5e

commit da5d5ded8da64a8583782022d27a9a7c2460dc5e
Author: DeX77 <[email protected]>
Date:   Tue Jan 30 14:41:46 2018 +0100

r8168-8.045.08-30-x86_64

* fix build with kernel 4.15

diff --git a/source/network-extra/r8168/FrugalBuild 
b/source/network-extra/r8168/FrugalBuild
index 8e0d358..90f16bd 100644
--- a/source/network-extra/r8168/FrugalBuild
+++ b/source/network-extra/r8168/FrugalBuild
@@ -13,10 +13,13 @@ 
url='http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFi
up2date="Fwcat '$url' | sed -n -r 's/.*$pkgname-([0-9.]+)[.]tar[.]bz2.*/\1/p'"
# Needs updating for each upgrade.
source=(https://github.com/mtorromeo/r8168/archive/$pkgver.tar.gz \
-       $pkgname.conf do-not-run-make-install-on-make.patch)
+       $pkgname.conf \
+       do-not-run-make-install-on-make.patch \
+       kernel-4.15.patch)
sha1sums=('2c75c3af8ce93148cd26bd2a0fef65035cc2a17e' \
'385fab20e1ad896dc6c1ee5c4aff9a6bd9496ee0' \
-          'ee1adc720e1ec7a65780b82ff5cb34c77b17e85e')
+          'ee1adc720e1ec7a65780b82ff5cb34c77b17e85e' \
+          '98ac2e4fbdf548828d135034eada569634b85898')

build() {
unset MAKEFLAGS
diff --git a/source/network-extra/r8168/kernel-4.15.patch 
b/source/network-extra/r8168/kernel-4.15.patch
new file mode 100644
index 0000000..f53ab78
--- /dev/null
+++ b/source/network-extra/r8168/kernel-4.15.patch
@@ -0,0 +1,83 @@
+diff --git a/src/r8168_n.c b/src/r8168_n.c
+index 4cd540a..2dbb726 100755
+--- a/src/r8168_n.c
++++ b/src/r8168_n.c
+@@ -407,8 +407,14 @@ MODULE_VERSION(RTL8168_VERSION);
+ 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(struct timer_list *timer);
++static void rtl8168_link_timer(struct timer_list *timer);
++#else
+ static void rtl8168_esd_timer(unsigned long __opaque);
+ static void rtl8168_link_timer(unsigned long __opaque);
++#endif//LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
++
+ static void rtl8168_tx_clear(struct rtl8168_private *tp);
+ static void rtl8168_rx_clear(struct rtl8168_private *tp);
+
+@@ -22964,7 +22970,11 @@ static inline void rtl8168_request_esd_timer(struct 
net_device *dev)
+         struct rtl8168_private *tp = netdev_priv(dev);
+         struct timer_list *timer = &tp->esd_timer;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
++        timer_setup(timer, rtl8168_esd_timer, 0);
++#else
+         setup_timer(timer, rtl8168_esd_timer, (unsigned long)dev);
++#endif//LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
+         mod_timer(timer, jiffies + RTL8168_ESD_TIMEOUT);
+ }
+
+@@ -22978,7 +22988,11 @@ static inline void rtl8168_request_link_timer(struct 
net_device *dev)
+         struct rtl8168_private *tp = netdev_priv(dev);
+         struct timer_list *timer = &tp->link_timer;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
++        timer_setup(timer, rtl8168_link_timer, 0);
++#else
+         setup_timer(timer, rtl8168_link_timer, (unsigned long)dev);
++#endif//LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
+         mod_timer(timer, jiffies + RTL8168_LINK_TIMEOUT);
+ }
+
+@@ -24717,12 +24731,19 @@ err_out:
+ #define PCI_DEVICE_SERIAL_NUMBER (0x0164)
+
+ static void
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
++rtl8168_esd_timer(struct timer_list *timer)
++{
++        struct rtl8168_private *tp = from_timer(tp, timer, esd_timer);
++        struct net_device *dev = tp->dev;
++#else
+ rtl8168_esd_timer(unsigned long __opaque)
+ {
+         struct net_device *dev = (struct net_device *)__opaque;
+         struct rtl8168_private *tp = netdev_priv(dev);
+-        struct pci_dev *pdev = tp->pci_dev;
+         struct timer_list *timer = &tp->esd_timer;
++#endif//LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
++        struct pci_dev *pdev = tp->pci_dev;
+         unsigned long timeout = RTL8168_ESD_TIMEOUT;
+         unsigned long flags;
+         u8 cmd;
+@@ -24856,11 +24877,18 @@ rtl8168_esd_timer(unsigned long __opaque)
+ }
+
+ static void
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
++rtl8168_link_timer(struct timer_list *timer)
++{
++        struct rtl8168_private *tp = from_timer(tp, timer, link_timer);
++        struct net_device *dev = tp->dev;
++#else
+ rtl8168_link_timer(unsigned long __opaque)
+ {
+         struct net_device *dev = (struct net_device *)__opaque;
+         struct rtl8168_private *tp = netdev_priv(dev);
+         struct timer_list *timer = &tp->link_timer;
++#endif//LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
+         unsigned long flags;
+
+         spin_lock_irqsave(&tp->lock, flags);
\ No newline at end of file
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to