diff options
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 8 | ||||
-rw-r--r-- | linux415.patch | 45 |
3 files changed, 54 insertions, 3 deletions
@@ -1,7 +1,7 @@ pkgbase = broadcom-wl pkgdesc = Broadcom 802.11abgn hybrid Linux networking device driver pkgver = 6.30.223.271 - pkgrel = 6 + pkgrel = 7 url = https://www.broadcom.com/support/802.11 install = install arch = i686 @@ -16,6 +16,7 @@ pkgbase = broadcom-wl source = linux48.patch source = linux411.patch source = linux412.patch + source = linux415.patch sha256sums = b4aca51ac5ed20cb79057437be7baf3650563b7a9d5efc515f0b9b34fbb9dc32 sha256sums = 2f70be509aac743bec2cc3a19377be311a60a1c0e4a70ddd63ea89fae5df08ac sha256sums = 583335a6edb2ed1094977c401643d3e60471c6bc5c3ea81f45910a9cccb06032 @@ -23,6 +24,7 @@ pkgbase = broadcom-wl sha256sums = 833af3b209d6a101d9094db16480bda2ad9a85797059b0ae0b13235ad3818e9c sha256sums = 977b1663ce055860b0b60e7cf882658f507d81909f935d1a8b785896f64176e8 sha256sums = a3d13e8abb96ad440dbfae29acae82d31d1ced2ea62052f1efb2c3c4add347ce + sha256sums = ad7a7763157e846a062be597830458541e7830ca59410bf242518d103a0321ce source_i686 = https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_271.tar.gz sha256sums_i686 = 4f8b70b293ac8cc5c70e571ad5d1878d0f29d133a46fe7869868d9c19b5058cd source_x86_64 = https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz @@ -3,10 +3,11 @@ # Contributor: Armin K. <krejzi at email dot com> # Contributor: Austin ( doorknob60 [at] gmail [dot] com ) # Contributor: Gaetan Bisson <bisson@archlinux.org> +# Contributor: Martin H. <mh@mail.com> pkgname=broadcom-wl pkgver=6.30.223.271 -pkgrel=6 +pkgrel=7 pkgdesc='Broadcom 802.11abgn hybrid Linux networking device driver' url='https://www.broadcom.com/support/802.11' @@ -23,6 +24,7 @@ source=('modprobe.d' 'linux48.patch' 'linux411.patch' 'linux412.patch' + 'linux415.patch' ) source_i686=("https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35-nodebug-pcoem-${pkgver//./_}.tar.gz") @@ -33,7 +35,8 @@ sha256sums=('b4aca51ac5ed20cb79057437be7baf3650563b7a9d5efc515f0b9b34fbb9dc32' '30ce1d5e8bf78aee487d0f3ac76756e1060777f70ed1a9cf95215c3a52cfbe2e' '833af3b209d6a101d9094db16480bda2ad9a85797059b0ae0b13235ad3818e9c' '977b1663ce055860b0b60e7cf882658f507d81909f935d1a8b785896f64176e8' - 'a3d13e8abb96ad440dbfae29acae82d31d1ced2ea62052f1efb2c3c4add347ce') + 'a3d13e8abb96ad440dbfae29acae82d31d1ced2ea62052f1efb2c3c4add347ce' + 'ad7a7763157e846a062be597830458541e7830ca59410bf242518d103a0321ce') sha256sums_i686=('4f8b70b293ac8cc5c70e571ad5d1878d0f29d133a46fe7869868d9c19b5058cd') sha256sums_x86_64=('5f79774d5beec8f7636b59c0fb07a03108eef1e3fd3245638b20858c714144be') @@ -49,6 +52,7 @@ prepare() { patch -p1 -i linux48.patch patch -p1 -i linux411.patch patch -p1 -i linux412.patch + patch -p1 -i linux415.patch sed -e "/BRCM_WLAN_IFNAME/s:eth:wlan:" \ -i src/wl/sys/wl_linux.c diff --git a/linux415.patch b/linux415.patch new file mode 100644 index 000000000000..efc8d1d5d4d2 --- /dev/null +++ b/linux415.patch @@ -0,0 +1,45 @@ +diff -urNZ a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c +--- a/src/wl/sys/wl_linux.c 2015-09-18 22:47:30.000000000 +0000 ++++ b/src/wl/sys/wl_linux.c 2018-01-31 22:52:10.859856221 +0000 +@@ -93,7 +93,11 @@ + + #include <wlc_wowl.h> + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) ++static void wl_timer(struct timer_list *tl); ++#else + static void wl_timer(ulong data); ++#endif + static void _wl_timer(wl_timer_t *t); + static struct net_device *wl_alloc_linux_if(wl_if_t *wlif); + +@@ -2298,9 +2302,15 @@ + } + + static void ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) ++wl_timer(struct timer_list *tl) ++{ ++ wl_timer_t *t = from_timer(t, tl, timer); ++#else + wl_timer(ulong data) + { + wl_timer_t *t = (wl_timer_t *)data; ++#endif + + if (!WL_ALL_PASSIVE_ENAB(t->wl)) + _wl_timer(t); +@@ -2352,9 +2362,13 @@ + + bzero(t, sizeof(wl_timer_t)); + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) ++ timer_setup(&t->timer, wl_timer, 0); ++#else + init_timer(&t->timer); + t->timer.data = (ulong) t; + t->timer.function = wl_timer; ++#endif + t->wl = wl; + t->fn = fn; + t->arg = arg; |