commit:     512c492ad7da750b2d9e1c794b2dee8c774eb3aa
Author:     Nick Sarnie <commendsarnex <AT> gmail <DOT> com>
AuthorDate: Tue Mar 13 19:17:30 2018 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Sun Mar 25 22:07:42 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=512c492a
net-wireless/broadcom-sta: Fix build on 4.15

Bug: https://bugs.gentoo.org/646106
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Closes: https://github.com/gentoo/gentoo/pull/7449

 .../broadcom-sta-6.30.223.271-r4.ebuild            |  5 +-
 .../broadcom-sta-6.30.223.271-r4-linux-4.15.patch  | 63 ++++++++++++++++++++++
 2 files changed, 66 insertions(+), 2 deletions(-)

diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild 
b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild
index 34b37eceeaf..b5e03a3184f 100644
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -81,7 +81,8 @@ src_prepare() {
                "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.7.patch" \
                "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.8.patch" \
                "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.11.patch" \
-               "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.12.patch"
+               "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.12.patch" \
+               "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.15.patch"
 
        epatch_user
 }

diff --git 
a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch 
b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch
new file mode 100644
index 00000000000..91c4d89519c
--- /dev/null
+++ 
b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch
@@ -0,0 +1,63 @@
+diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+index 489c9f5..f8278ad 100644
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -93,7 +93,11 @@
+ 
+ #include <wlc_wowl.h>
+ 
++#ifdef HAVE_TIMER_SETUP
++static void wl_timer(struct timer_list *list);
++#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);
+ 
+@@ -2296,12 +2300,17 @@
+ 
+       atomic_dec(&t->wl->callbacks);
+ }
+-
++#ifdef HAVE_TIMER_SETUP
++static void
++wl_timer(struct timer_list *list)
++{
++      wl_timer_t *t = from_timer(t,list,timer);
++#else
+ static void
+ wl_timer(ulong data)
+ {
+       wl_timer_t *t = (wl_timer_t *)data;
+-
++#endif
+       if (!WL_ALL_PASSIVE_ENAB(t->wl))
+               _wl_timer(t);
+       else
+@@ -2351,10 +2360,13 @@
+       }
+ 
+       bzero(t, sizeof(wl_timer_t));
+-
++#ifdef HAVE_TIMER_SETUP
++      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;
+diff --git a/src/wl/sys/wl_linux.h b/src/wl/sys/wl_linux.h
+index 489c9f5..f8278ad 100644
+--- a/src/wl/sys/wl_linux.h
++++ b/src/wl/sys/wl_linux.h
+@@ -190,3 +190,7 @@
+ extern struct net_device * wl_netdev_get(wl_info_t *wl);
+ 
+ #endif 
++
++#if defined(timer_setup) && defined(from_timer)
++#define HAVE_TIMER_SETUP
++#endif

Reply via email to