summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorenihcam2018-05-18 19:20:01 +0800
committerenihcam2018-05-18 19:20:01 +0800
commit36a65c415cc86a1a981633f53c87492b856f450e (patch)
tree7bbc00c24fb44e569a3ab9387f139aade992c365
downloadaur-36a65c415cc86a1a981633f53c87492b856f450e.tar.gz
Init version
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD48
-rw-r--r--linux-4.15.patch81
3 files changed, 148 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e76cd135933b
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = r8168-ck
+ pkgdesc = A kernel module for Realtek 8168 network cards
+ pkgver = 8.045.08
+ pkgrel = 1
+ url = http://www.realtek.com.tw
+ arch = x86_64
+ license = GPL
+ makedepends = linux-ck-headers
+ depends = glibc
+ depends = linux-ck
+ source = https://github.com/mtorromeo/r8168/archive/8.045.08/r8168-8.045.08.tar.gz
+ source = linux-4.15.patch
+ sha256sums = 18161cb72fc872a9aed194514f7b8fb8b255b6fa6ed3d2dd459700eaad575f31
+ sha256sums = 6434f0d1fcb08e3605a17859d3b8946c65bcf14737e223315b6468b3394c5cd7
+
+pkgname = r8168-ck
+ depends = linux-ck>=
+ depends = linux-ck<.1
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..740aa6320bed
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id$
+# Maintainer: Enihcam <gmail: nanericwang>
+
+pkgname=r8168-ck
+_pkgname=r8168
+pkgver=8.045.08
+pkgrel=1
+pkgdesc="A kernel module for Realtek 8168 network cards"
+url="http://www.realtek.com.tw"
+license=("GPL")
+arch=('x86_64')
+depends=('glibc' 'linux-ck')
+makedepends=('linux-ck-headers')
+source=(https://github.com/mtorromeo/r8168/archive/$pkgver/$_pkgname-$pkgver.tar.gz
+ linux-4.15.patch)
+sha256sums=('18161cb72fc872a9aed194514f7b8fb8b255b6fa6ed3d2dd459700eaad575f31'
+ '6434f0d1fcb08e3605a17859d3b8946c65bcf14737e223315b6468b3394c5cd7')
+
+prepare() {
+ cd "$_pkgname-$pkgver"
+ patch -Np1 -i ../linux-4.15.patch
+}
+
+build() {
+ _kernver=$(pacman -Q linux-ck | sed -r 's#.* ([0-9]+\.[0-9]+).*#\1#')
+ KERNEL_VERSION=$(cat /usr/lib/modules/extramodules-$_kernver-ck/version)
+ msg2 "Kernel = $KERNEL_VERSION"
+
+ cd "$_pkgname-$pkgver"
+ # avoid using the Makefile directly -- it doesn't understand
+ # any kernel but the current.
+ make -C /usr/lib/modules/$KERNEL_VERSION/build \
+ SUBDIRS="$srcdir/$_pkgname-$pkgver/src" \
+ EXTRA_CFLAGS="${CFLAGS} -DCONFIG_R8168_NAPI" \
+ modules
+}
+
+package() {
+ _kernver=$(pacman -Q linux-ck | sed -r 's#.* ([0-9]+\.[0-9]+).*#\1#')
+ depends=("linux-ck>=$_kernver" "linux-ck<${_kernver/.*}.$(expr ${_kernver/*.} + 1)")
+
+ cd "$_pkgname-$pkgver"
+ install -Dt "$pkgdir/usr/lib/modules/extramodules-$_kernver-ck" -m644 src/*.ko
+ find "$pkgdir" -name '*.ko' -exec xz {} +
+
+ echo "blacklist r8169" | \
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/modprobe.d/r8168.conf"
+}
diff --git a/linux-4.15.patch b/linux-4.15.patch
new file mode 100644
index 000000000000..a317e22533e9
--- /dev/null
+++ b/linux-4.15.patch
@@ -0,0 +1,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;
+