diff options
author | enihcam | 2018-05-18 19:20:01 +0800 |
---|---|---|
committer | enihcam | 2018-05-18 19:20:01 +0800 |
commit | 36a65c415cc86a1a981633f53c87492b856f450e (patch) | |
tree | 7bbc00c24fb44e569a3ab9387f139aade992c365 | |
download | aur-36a65c415cc86a1a981633f53c87492b856f450e.tar.gz |
Init version
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 48 | ||||
-rw-r--r-- | linux-4.15.patch | 81 |
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; + |