* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2015-11-25 19:24 Patrice Clement
0 siblings, 0 replies; 10+ messages in thread
From: Patrice Clement @ 2015-11-25 19:24 UTC (permalink / raw
To: gentoo-commits
commit: b0df1f11504b32265e665ba0a69fcdb6194e8c3c
Author: Matthew Brewer <tomboy64 <AT> sina <DOT> cn>
AuthorDate: Mon Nov 16 12:31:14 2015 +0000
Commit: Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Tue Nov 17 08:25:38 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0df1f11
net-wireless/broadcom-sta: patch for compatibility with kernel-4.3
.../broadcom-sta-6.30.223.271-r2.ebuild | 76 ++++++++++++++++++++++
.../broadcom-sta-6.30.223.271-linux-4.3.patch | 11 ++++
2 files changed, 87 insertions(+)
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r2.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r2.ebuild
new file mode 100644
index 0000000..4859053
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils linux-info linux-mod
+
+DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
+HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
+SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
+SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
+ amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
+ http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
+
+LICENSE="Broadcom"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="mirror"
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+pkg_setup() {
+ # bug #300570
+ # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
+ # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
+ # b43 via udev rules. Moreover, previous fix broke binpkgs support.
+ CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
+ CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+ ERROR_B43="B43: If you insist on building this, you must blacklist it!"
+ ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
+ ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
+ ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
+ ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
+ ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
+ ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
+ if kernel_is ge 3 8 8; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
+ elif kernel_is ge 2 6 32; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
+ elif kernel_is ge 2 6 31; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
+ elif kernel_is ge 2 6 29; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
+ else
+ CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
+ fi
+
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="-C ${KV_DIR} M=${S}"
+ BUILD_TARGETS="wl.ko"
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
+ "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
+ "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
+ "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3.patch"
+
+ epatch_user
+}
+
+src_install() {
+ linux-mod_src_install
+
+ dodoc "${DISTDIR}/README-${P}.txt"
+}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-linux-4.3.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-linux-4.3.patch
new file mode 100644
index 0000000..ae0dc56
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-linux-4.3.patch
@@ -0,0 +1,11 @@
+--- a/src/shared/linux_osl.c 2015-09-19 00:47:15.000000000 +0200
++++ b/src/shared/linux_osl.c 2015-11-09 17:02:22.000000000 +0100
+@@ -932,7 +932,7 @@
+ uint cycles;
+
+ #if defined(__i386__)
+- rdtscl(cycles);
++ cycles = (u32)native_read_tsc();
+ #else
+ cycles = 0;
+ #endif
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2016-02-09 20:26 Matt Turner
0 siblings, 0 replies; 10+ messages in thread
From: Matt Turner @ 2016-02-09 20:26 UTC (permalink / raw
To: gentoo-commits
commit: 156954e2a0e304b68faf11e59ed00a88723b8f60
Author: Matthew Brewer <tomboy64 <AT> sina <DOT> cn>
AuthorDate: Sat Feb 6 03:25:44 2016 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Feb 9 16:53:27 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=156954e2
net-wireless/broadcom-sta: cleaning out old revisions
Package-Manager: portage-2.2.26
RepoMan-Options: --ignore-arches
.../broadcom-sta-6.30.223.141-r1.ebuild | 66 -------------------
.../broadcom-sta/broadcom-sta-6.30.223.141.ebuild | 69 -------------------
.../broadcom-sta-6.30.223.248-r1.ebuild | 75 ---------------------
.../broadcom-sta-6.30.223.248-r2.ebuild | 77 ----------------------
.../broadcom-sta-6.30.223.248-r3.ebuild | 77 ----------------------
.../broadcom-sta-6.30.223.271-r1.ebuild | 75 ---------------------
.../files/broadcom-sta-5.10.91.9-license.patch | 12 ----
.../broadcom-sta-5.100.82.111-linux-3.0.patch | 21 ------
.../broadcom-sta-5.100.82.112-linux-2.6.39.patch | 11 ----
...sta-5.100.82.112-linux-3.2-with-multicast.patch | 14 ----
.../broadcom-sta-5.100.82.112-linux-3.4.patch | 12 ----
.../broadcom-sta-5.100.82.112-linux-3.6.patch | 60 -----------------
.../broadcom-sta-5.100.82.112-linux-3.8.patch | 71 --------------------
.../broadcom-sta-5.100.82.112-linux-3.9.patch | 14 ----
| 32 ---------
.../files/broadcom-sta-5.100.82.38-gcc.patch | 11 ----
16 files changed, 697 deletions(-)
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.141-r1.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.141-r1.ebuild
deleted file mode 100644
index 099e4ae..0000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.141-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )"
-
-LICENSE="Broadcom"
-KEYWORDS="~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
-# Makefile.patch: keep `emake install` working
-# linux-3.9.0.patch: add support for kernel 3.9.0
-# linux-3.10.0.patch: add support for kernel 3.10, bug #477372
- epatch "${FILESDIR}/${P}-makefile.patch" \
- "${FILESDIR}/${P}-linux-3.10.0.patch"
-
- epatch_user
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.141.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.141.ebuild
deleted file mode 100644
index 65dcb1c..0000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.141.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
-# Makefile.patch: keep `emake install` working
-# linux-3.9.0.patch: add support for kernel 3.9.0
-# linux-3.10.0.patch: add support for kernel 3.10, bug #477372
- epatch "${FILESDIR}/${P}-license.patch"
- epatch "${FILESDIR}/${P}-makefile.patch"
- epatch "${FILESDIR}/${P}-linux-recent.patch"
- epatch "${FILESDIR}/${P}-eth-to-wlan.patch"
- epatch "${FILESDIR}/${P}-gcc.patch"
-
- epatch_user
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r1.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r1.ebuild
deleted file mode 100644
index adf6ca5..0000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-6.30.223.141-license.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-linux-3.15.patch"
-
- epatch_user
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc "${DISTDIR}/README-${P}.txt"
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r2.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r2.ebuild
deleted file mode 100644
index e91828d..0000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r2.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-6.30.223.141-license.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-linux-3.15.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-linux-3.17.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-linux-3.18.patch"
-
- epatch_user
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc "${DISTDIR}/README-${P}.txt"
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r3.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r3.ebuild
deleted file mode 100644
index 5a647f1..0000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r3.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-6.30.223.141-license.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-linux-3.15-3.18.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-linux-4.0.patch"
-
- epatch_user
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc "${DISTDIR}/README-${P}.txt"
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r1.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r1.ebuild
deleted file mode 100644
index a0fe86a..0000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
- "${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch"
-
- epatch_user
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc "${DISTDIR}/README-${P}.txt"
-}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-license.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-license.patch
deleted file mode 100644
index b320d97..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-license.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c
---- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c 2009-04-23 02:48:59.000000000 +0900
-+++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c 2009-05-08 00:48:20.000000000 +0900
-@@ -163,6 +163,8 @@
- static void wl_free_if(wl_info_t *wl, wl_if_t *wlif);
- static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info);
-
-+MODULE_LICENSE("MIXED/Proprietary");
-+
- static struct pci_device_id wl_id_table[] = {
- { PCI_VENDOR_ID_BROADCOM, 0x4311, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
- { PCI_VENDOR_ID_BROADCOM, 0x4312, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.111-linux-3.0.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.111-linux-3.0.patch
deleted file mode 100644
index a915aee..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.111-linux-3.0.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur broadcom-sta-5.100.82.111.orig/Makefile broadcom-sta-5.100.82.111/Makefile
---- broadcom-sta-5.100.82.111.orig/Makefile 2011-10-06 08:16:10.000000000 +0900
-+++ broadcom-sta-5.100.82.111/Makefile 2011-10-24 08:54:26.000000000 +0900
-@@ -16,7 +16,7 @@
- ifneq ($(KERNELRELEASE),)
-
- LINUXVER_GOODFOR_CFG80211:=$(strip $(shell \
-- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "32" ]; then \
-+ if [ "$(VERSION)" -ge "3" -o "$(VERSION)" -eq "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "32" ]; then \
- echo TRUE; \
- else \
- echo FALSE; \
-@@ -24,7 +24,7 @@
- ))
-
- LINUXVER_WEXT_ONLY:=$(strip $(shell \
-- if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "17" ]; then \
-+ if [ "$(VERSION)" -ge "3" -o "$(VERSION)" -eq "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "17" ]; then \
- echo FALSE; \
- else \
- echo TRUE; \
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-2.6.39.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-2.6.39.patch
deleted file mode 100644
index 633b9c8..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-2.6.39.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/wl/sys/wl_cfg80211.c.orig 2011-10-31 07:57:38.000000000 -0400
-+++ src/wl/sys/wl_cfg80211.c 2011-10-31 07:57:46.000000000 -0400
-@@ -1811,7 +1811,7 @@
- notif_bss_info->frame_len = offsetof(struct ieee80211_mgmt, u.beacon.variable) +
- wl_get_ielen(wl);
- freq = ieee80211_channel_to_frequency(notif_bss_info->channel
--#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
- ,(notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ
- #endif
- );
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.2-with-multicast.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.2-with-multicast.patch
deleted file mode 100644
index c28bc0e..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.2-with-multicast.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/wl/sys/wl_linux.c.old 2013-05-02 21:00:51.000000000 +0200
-+++ src/wl/sys/wl_linux.c 2013-05-02 21:04:00.000000000 +0200
-@@ -385,7 +385,11 @@
- #endif
- .ndo_get_stats = wl_get_stats,
- .ndo_set_mac_address = wl_set_mac_address,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
- .ndo_set_multicast_list = wl_set_multicast_list,
-+#else
-+ .ndo_set_rx_mode = wl_set_multicast_list,
-+#endif
- .ndo_do_ioctl = wl_ioctl
- };
-
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.4.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.4.patch
deleted file mode 100644
index 2f1ad56..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.4.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/wl/sys/wl_linux.c.old 2013-05-02 14:51:07.000000000 +0200
-+++ src/wl/sys/wl_linux.c 2013-05-02 14:51:14.000000000 +0200
-@@ -40,7 +40,9 @@
- #include <linux/pci_ids.h>
- #define WLC_MAXBSSCFG 1
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
- #include <asm/system.h>
-+#endif
- #include <asm/io.h>
- #include <asm/irq.h>
- #include <asm/pgtable.h>
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.6.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.6.patch
deleted file mode 100644
index 17730db..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.6.patch
+++ /dev/null
@@ -1,60 +0,0 @@
---- work.orig/src/wl/sys/wl_cfg80211.c 2012-11-05 21:12:30.402421835 +0100
-+++ work/src/wl/sys/wl_cfg80211.c 2012-11-05 21:21:13.962421835 +0100
-@@ -40,9 +40,15 @@ u32 wl_dbg_level = WL_DBG_ERR | WL_DBG_I
-
- static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
- enum nl80211_iftype type, u32 *flags, struct vif_params *params);
--static s32 __wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
-+static s32 __wl_cfg80211_scan(struct wiphy *wiphy,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
-+ struct net_device *ndev,
-+#endif
- struct cfg80211_scan_request *request, struct cfg80211_ssid *this_ssid);
--static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
-+static s32 wl_cfg80211_scan(struct wiphy *wiphy,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
-+ struct net_device *ndev,
-+#endif
- struct cfg80211_scan_request *request);
- static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed);
- static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev,
-@@ -496,10 +502,16 @@ wl_cfg80211_change_iface(struct wiphy *w
- }
-
- static s32
--__wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
-+__wl_cfg80211_scan(struct wiphy *wiphy,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
-+ struct net_device *ndev,
-+#endif
- struct cfg80211_scan_request *request,
- struct cfg80211_ssid *this_ssid)
- {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
-+ struct net_device *ndev = request->wdev->netdev;
-+#endif
- struct wl_priv *wl = ndev_to_wl(ndev);
- struct cfg80211_ssid *ssids;
- struct wl_scan_req *sr = wl_to_sr(wl);
-@@ -570,13 +582,20 @@ scan_out:
- }
-
- static s32
--wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
-+wl_cfg80211_scan(struct wiphy *wiphy,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
-+ struct net_device *ndev,
-+#endif
- struct cfg80211_scan_request *request)
- {
- s32 err = 0;
-
- CHECK_SYS_UP();
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
- err = __wl_cfg80211_scan(wiphy, ndev, request, NULL);
-+#else
-+ err = __wl_cfg80211_scan(wiphy, request, NULL);
-+#endif
- if (err) {
- WL_DBG(("scan error (%d)\n", err));
- return err;
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.8.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.8.patch
deleted file mode 100644
index da2ddcc..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.8.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- /src/include/bcmutils.h~ 2011-10-22 18:55:54.000000000 +0200
-+++ /src/include/bcmutils.h 2013-02-21 09:08:19.947034424 +0100
-@@ -555,7 +555,11 @@ extern void printbig(char *buf);
- extern void prhex(const char *msg, uchar *buf, uint len);
-
- extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
- extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key);
-+#else
-+extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(const void *buf, int buflen, uint key);
-+#endif
- extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key);
-
- extern const char *bcmerrorstr(int bcmerror);
---- /src/wl/sys/wl_cfg80211.c~ 2013-02-21 09:06:18.971297216 +0100
-+++ /src/wl/sys/wl_cfg80211.c 2013-02-21 09:10:56.682019739 +0100
-@@ -744,7 +744,11 @@ wl_cfg80211_join_ibss(struct wiphy *wiph
- else
- memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN);
-
-- wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
-+ wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
-+#else
-+ wl_ch_to_chanspec(params->chandef.chan, &join_params, &join_params_size);
-+#endif
-
- err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size);
- if (err) {
-@@ -2047,9 +2051,14 @@ static s32 wl_update_bss_info(struct wl_
- struct bcm_tlv *tim;
- u16 beacon_interval;
- s32 dtim_period;
-- size_t ie_len;
-- u8 *ie;
- s32 err = 0;
-+ size_t ie_len;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
-+ u8 *ie;
-+#else
-+ const u8 *ie;
-+ const struct cfg80211_bss_ies *ies;
-+#endif
-
- ssid = &wl->profile->ssid;
- bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
-@@ -2079,8 +2088,22 @@ static s32 wl_update_bss_info(struct wl_
- beacon_interval = cpu_to_le16(bi->beacon_period);
- } else {
- WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid));
-- ie = bss->information_elements;
-- ie_len = bss->len_information_elements;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
-+ ie = bss->information_elements;
-+ ie_len = bss->len_information_elements;
-+#else
-+ rcu_read_lock();
-+ ies = (const struct cfg80211_bss_ies*)rcu_dereference(bss->ies);
-+ if (!ies) {
-+ /* This should never happen */
-+ rcu_read_unlock();
-+ err = -EIO;
-+ goto update_bss_info_out;
-+ }
-+ ie = ies->data;
-+ ie_len = (size_t)(ies->len);
-+ rcu_read_unlock();
-+#endif
- beacon_interval = bss->beacon_interval;
- cfg80211_put_bss(bss);
- }
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.9.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.9.patch
deleted file mode 100644
index e1f168f..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-linux-3.9.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/wl/sys/wl_cfg80211.c.old 2013-05-02 17:10:36.000000000 +0200
-+++ src/wl/sys/wl_cfg80211.c 2013-05-02 17:12:27.000000000 +0200
-@@ -2119,7 +2119,11 @@
- rcu_read_unlock();
- #endif
- beacon_interval = bss->beacon_interval;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)
- cfg80211_put_bss(bss);
-+#else
-+ cfg80211_put_bss(wl_to_wiphy(wl), bss);
-+#endif
- }
-
- tim = bcm_parse_tlvs(ie, ie_len, WLAN_EID_TIM);
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-remove-rssi-errors.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-remove-rssi-errors.patch
deleted file mode 100644
index 7f26746..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.112-remove-rssi-errors.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -Naur broadcom-sta-5.100.82.112.orig/amd64/src/wl/sys/wl_linux.c broadcom-sta-5.100.82.112/amd64/src/wl/sys/wl_linux.c
---- broadcom-sta-5.100.82.112.orig/amd64/src/wl/sys/wl_linux.c 2012-05-24 09:45:02.520119025 +0400
-+++ broadcom-sta-5.100.82.112/amd64/src/wl/sys/wl_linux.c 2012-05-24 09:46:52.116121834 +0400
-@@ -1581,11 +1581,7 @@
- }
-
- WL_LOCK(wl);
-- if (!capable(CAP_NET_ADMIN)) {
-- bcmerror = BCME_EPERM;
-- } else {
-- bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
-- }
-+ bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
- WL_UNLOCK(wl);
-
- done1:
-
-diff -Naur broadcom-sta-5.100.82.112.orig/amd64/src/wl/sys/wl_cfg80211.c broadcom-sta-5.100.82.112/amd64/src/wl/sys/wl_cfg80211.c
---- broadcom-sta-5.100.82.112.orig/amd64/src/wl/sys/wl_cfg80211.c 2012-05-24 09:45:33.268119813 +0400
-+++ broadcom-sta-5.100.82.112/amd64/src/wl/sys/wl_cfg80211.c 2012-05-24 09:55:30.184135098 +0400
-@@ -1466,7 +1466,10 @@
- scb_val.val = 0;
- err = wl_dev_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t));
- if (err) {
-- WL_ERR(("Could not get rssi (%d)\n", err));
-+ if (err != -EINVAL) {
-+ // Don't fill syslog with EINVAL error
-+ WL_ERR(("Could not get rssi (%d)\n", err));
-+ }
- return err;
- }
- rssi = dtoh32(scb_val.val);
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.38-gcc.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.38-gcc.patch
deleted file mode 100644
index 0485653..0000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-5.100.82.38-gcc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur broadcom-sta-5.60.246.2.orig//src/wl/sys/wl_iw.h broadcom-sta-5.60.246.2/src/wl/sys/wl_iw.h
---- broadcom-sta-5.60.246.2.orig//src/wl/sys/wl_iw.h 2010-10-08 07:32:59.000000000 +0900
-+++ broadcom-sta-5.60.246.2/src/wl/sys/wl_iw.h 2010-10-28 00:50:57.925351964 +0900
-@@ -15,6 +15,7 @@
- #ifndef _wl_iw_h_
- #define _wl_iw_h_
-
-+#include <linux/semaphore.h>
- #include <linux/wireless.h>
-
- #include <typedefs.h>
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2016-02-09 20:26 Matt Turner
0 siblings, 0 replies; 10+ messages in thread
From: Matt Turner @ 2016-02-09 20:26 UTC (permalink / raw
To: gentoo-commits
commit: 96c5f980d1625514f710712f0bf92291536481ff
Author: Matthew Brewer <tomboy64 <AT> sina <DOT> cn>
AuthorDate: Sat Feb 6 05:24:13 2016 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Feb 9 17:55:32 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96c5f980
net-wireless/broadcom-sta: fix for bug#573854
reincarnation of #565254 (tsc mess)
=> update the patch to use a non-deprecated function and to be
applicable to pre- and post-4.3 kernels
Package-Manager: portage-2.2.26
RepoMan-Options: --ignore-arches
.../broadcom-sta-6.30.223.248-r5.ebuild | 79 ++++++++++++++++++++++
.../broadcom-sta-6.30.223.271-r3.ebuild | 76 +++++++++++++++++++++
...broadcom-sta-6.30.223.271-r2-linux-4.3-v2.patch | 16 +++++
3 files changed, 171 insertions(+)
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r5.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r5.ebuild
new file mode 100644
index 0000000..28098da
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r5.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils linux-info linux-mod
+
+DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
+HOMEPAGE="http://www.broadcom.com/support/802.11/"
+SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
+SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
+ amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
+ http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
+
+LICENSE="Broadcom"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="mirror"
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+pkg_setup() {
+ # bug #300570
+ # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
+ # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
+ # b43 via udev rules. Moreover, previous fix broke binpkgs support.
+ CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
+ CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+ ERROR_B43="B43: If you insist on building this, you must blacklist it!"
+ ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
+ ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
+ ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
+ ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
+ ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
+ ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
+ if kernel_is ge 3 8 8; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
+ elif kernel_is ge 2 6 32; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
+ elif kernel_is ge 2 6 31; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
+ elif kernel_is ge 2 6 29; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
+ else
+ CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
+ fi
+
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="-C ${KV_DIR} M=${S}"
+ BUILD_TARGETS="wl.ko"
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-6.30.223.141-license.patch" \
+ "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
+ "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
+ "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
+ "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
+ "${FILESDIR}/${PN}-6.30.223.248-r3-linux-3.15-3.18.patch" \
+ "${FILESDIR}/${PN}-6.30.223.248-r3-linux-4.0.patch" \
+ "${FILESDIR}/${PN}-6.30.223.248-r4-linux-4.2.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch"
+
+ epatch_user
+}
+
+src_install() {
+ linux-mod_src_install
+
+ dodoc "${DISTDIR}/README-${P}.txt"
+}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild
new file mode 100644
index 0000000..d28e50e
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils linux-info linux-mod
+
+DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
+HOMEPAGE="http://www.broadcom.com/support/802.11/"
+SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
+SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
+ amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
+ http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
+
+LICENSE="Broadcom"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="mirror"
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+pkg_setup() {
+ # bug #300570
+ # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
+ # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
+ # b43 via udev rules. Moreover, previous fix broke binpkgs support.
+ CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
+ CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+ ERROR_B43="B43: If you insist on building this, you must blacklist it!"
+ ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
+ ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
+ ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
+ ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
+ ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
+ ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
+ if kernel_is ge 3 8 8; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
+ elif kernel_is ge 2 6 32; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
+ elif kernel_is ge 2 6 31; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
+ elif kernel_is ge 2 6 29; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
+ else
+ CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
+ fi
+
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="-C ${KV_DIR} M=${S}"
+ BUILD_TARGETS="wl.ko"
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
+ "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
+ "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
+ "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch"
+
+ epatch_user
+}
+
+src_install() {
+ linux-mod_src_install
+
+ dodoc "${DISTDIR}/README-${P}.txt"
+}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r2-linux-4.3-v2.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r2-linux-4.3-v2.patch
new file mode 100644
index 0000000..588f77a
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r2-linux-4.3-v2.patch
@@ -0,0 +1,16 @@
+diff -ruN a/src/shared/linux_osl.c b/src/shared/linux_osl.c
+--- a/src/shared/linux_osl.c 2015-11-26 12:16:23.343091098 -0800
++++ b/src/shared/linux_osl.c 2015-11-26 12:17:08.657092739 -0800
+@@ -932,7 +932,11 @@
+ uint cycles;
+
+ #if defined(__i386__)
+- rdtscl(cycles);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
++ cycles = (u32)rdtsc();
++#else
++ rdtscl(cycles);
++#endif
+ #else
+ cycles = 0;
+ #endif
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2016-08-20 22:01 Luca Barbato
0 siblings, 0 replies; 10+ messages in thread
From: Luca Barbato @ 2016-08-20 22:01 UTC (permalink / raw
To: gentoo-commits
commit: 5c291bb9ba5f428de8e85865b1733b19a4c6a0fd
Author: Luca Barbato <lu_zero <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 20 21:58:01 2016 +0000
Commit: Luca Barbato <lu_zero <AT> gentoo <DOT> org>
CommitDate: Sat Aug 20 22:00:49 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c291bb9
net-wireless/broadcom-sta: Add linux-4.7 support
Bug #590078
Package-Manager: portage-2.3.0
.../broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild | 3 ++-
.../files/broadcom-sta-6.30.223.271-r3-linux-4.7.patch | 14 ++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild
index d28e50e..6029b0c 100644
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild
@@ -64,7 +64,8 @@ src_prepare() {
"${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
"${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
"${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch" \
- "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch"
+ "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r3-linux-4.7.patch"
epatch_user
}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r3-linux-4.7.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r3-linux-4.7.patch
new file mode 100644
index 0000000..55b30e3
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r3-linux-4.7.patch
@@ -0,0 +1,14 @@
+--- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-08-20 17:19:11.285578121 +0200
++++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-08-20 17:20:55.611574041 +0200
+@@ -49,6 +49,11 @@
+ u32 wl_dbg_level = WL_DBG_ERR;
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
++#define IEEE80211_BAND_2GHZ NL80211_BAND_2GHZ
++#define IEEE80211_BAND_5GHZ NL80211_BAND_5GHZ
++#endif
++
+ static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
+ enum nl80211_iftype type, u32 *flags, struct vif_params *params);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2016-11-21 4:18 Matt Turner
0 siblings, 0 replies; 10+ messages in thread
From: Matt Turner @ 2016-11-21 4:18 UTC (permalink / raw
To: gentoo-commits
commit: c6d3f917370292c267bb05d447db028125946dfe
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 21 04:17:58 2016 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Mon Nov 21 04:18:21 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6d3f917
net-wireless/broadcom-sta: Add support for Linux v4.8
Bug: https://bugs.gentoo.org/590078
Bug: https://bugs.gentoo.org/596342
.../broadcom-sta-6.30.223.271-r4.ebuild | 78 +++++++++++++++
.../broadcom-sta-6.30.223.271-r4-linux-4.7.patch | 109 +++++++++++++++++++++
.../broadcom-sta-6.30.223.271-r4-linux-4.8.patch | 64 ++++++++++++
3 files changed, 251 insertions(+)
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
new file mode 100644
index 00000000..76d80f9
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r4.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils linux-info linux-mod
+
+DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
+HOMEPAGE="http://www.broadcom.com/support/802.11/"
+SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
+SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
+ amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
+ http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
+
+LICENSE="Broadcom"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="mirror"
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+pkg_setup() {
+ # bug #300570
+ # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
+ # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
+ # b43 via udev rules. Moreover, previous fix broke binpkgs support.
+ CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
+ CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+ ERROR_B43="B43: If you insist on building this, you must blacklist it!"
+ ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
+ ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
+ ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
+ ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
+ ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
+ ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
+ if kernel_is ge 3 8 8; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
+ elif kernel_is ge 2 6 32; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
+ elif kernel_is ge 2 6 31; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
+ elif kernel_is ge 2 6 29; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
+ else
+ CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
+ fi
+
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="-C ${KV_DIR} M=${S}"
+ BUILD_TARGETS="wl.ko"
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
+ "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
+ "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
+ "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.7.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.8.patch"
+
+ epatch_user
+}
+
+src_install() {
+ linux-mod_src_install
+
+ dodoc "${DISTDIR}/README-${P}.txt"
+}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.7.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.7.patch
new file mode 100644
index 00000000..566680a
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.7.patch
@@ -0,0 +1,109 @@
+Since Linux 4.7, the enum ieee80211_band is no longer used
+
+This shall cause no problem's since both enums ieee80211_band
+and nl80211_band were added in the same commit:
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c
+
+This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_*
+
+Reference:
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
+
+--- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:57:36.159340297 -0500
++++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:58:18.442323435 -0500
+@@ -236,7 +236,7 @@
+ #endif
+
+ #define CHAN2G(_channel, _freq, _flags) { \
+- .band = IEEE80211_BAND_2GHZ, \
++ .band = NL80211_BAND_2GHZ, \
+ .center_freq = (_freq), \
+ .hw_value = (_channel), \
+ .flags = (_flags), \
+@@ -245,7 +245,7 @@
+ }
+
+ #define CHAN5G(_channel, _flags) { \
+- .band = IEEE80211_BAND_5GHZ, \
++ .band = NL80211_BAND_5GHZ, \
+ .center_freq = 5000 + (5 * (_channel)), \
+ .hw_value = (_channel), \
+ .flags = (_flags), \
+@@ -379,7 +379,7 @@
+ };
+
+ static struct ieee80211_supported_band __wl_band_2ghz = {
+- .band = IEEE80211_BAND_2GHZ,
++ .band = NL80211_BAND_2GHZ,
+ .channels = __wl_2ghz_channels,
+ .n_channels = ARRAY_SIZE(__wl_2ghz_channels),
+ .bitrates = wl_g_rates,
+@@ -387,7 +387,7 @@
+ };
+
+ static struct ieee80211_supported_band __wl_band_5ghz_a = {
+- .band = IEEE80211_BAND_5GHZ,
++ .band = NL80211_BAND_5GHZ,
+ .channels = __wl_5ghz_a_channels,
+ .n_channels = ARRAY_SIZE(__wl_5ghz_a_channels),
+ .bitrates = wl_a_rates,
+@@ -395,7 +395,7 @@
+ };
+
+ static struct ieee80211_supported_band __wl_band_5ghz_n = {
+- .band = IEEE80211_BAND_5GHZ,
++ .band = NL80211_BAND_5GHZ,
+ .channels = __wl_5ghz_n_channels,
+ .n_channels = ARRAY_SIZE(__wl_5ghz_n_channels),
+ .bitrates = wl_a_rates,
+@@ -1876,8 +1876,8 @@
+ wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX;
+ #endif
+ wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
+- wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz;
+- wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a;
++ wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz;
++ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a;
+ wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
+ wdev->wiphy->cipher_suites = __wl_cipher_suites;
+ wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites);
+@@ -2000,7 +2000,7 @@
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
+ freq = ieee80211_channel_to_frequency(notif_bss_info->channel,
+ (notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ?
+- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
++ NL80211_BAND_2GHZ : NL80211_BAND_5GHZ);
+ #else
+ freq = ieee80211_channel_to_frequency(notif_bss_info->channel);
+ #endif
+@@ -2116,7 +2116,7 @@
+ return err;
+ }
+ chan = wf_chspec_ctlchan(chanspec);
+- band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
++ band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
+ freq = ieee80211_channel_to_frequency(chan, band);
+ channel = ieee80211_get_channel(wiphy, freq);
+ cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
+@@ -2250,10 +2250,10 @@
+ join_params->params.chanspec_list[0] =
+ ieee80211_frequency_to_channel(chan->center_freq);
+
+- if (chan->band == IEEE80211_BAND_2GHZ) {
++ if (chan->band == NL80211_BAND_2GHZ) {
+ chanspec |= WL_CHANSPEC_BAND_2G;
+ }
+- else if (chan->band == IEEE80211_BAND_5GHZ) {
++ else if (chan->band == NL80211_BAND_5GHZ) {
+ chanspec |= WL_CHANSPEC_BAND_5G;
+ }
+ else {
+@@ -2885,7 +2885,7 @@
+
+ if (phy == 'n' || phy == 'a' || phy == 'v') {
+ wiphy = wl_to_wiphy(wl);
+- wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n;
++ wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n;
+ }
+
+ return err;
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.8.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.8.patch
new file mode 100644
index 00000000..20e8a9a
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.8.patch
@@ -0,0 +1,64 @@
+From d3f93542326a06d920c6eb89b703384290d37b8b Mon Sep 17 00:00:00 2001
+From: Alberto Milone <alberto.milone@canonical.com>
+Date: Fri, 2 Sep 2016 17:35:34 +0200
+Subject: [PATCH 1/1] Add support for Linux 4.8
+
+Orginal author: Krzysztof Kolasa
+---
+ src/wl/sys/wl_cfg80211_hybrid.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+index 2fc71fe..ec5e472 100644
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -2388,8 +2388,16 @@ wl_bss_connect_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
+ s32 err = 0;
+
+ if (wl->scan_request) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ struct cfg80211_scan_info info = {
++ .aborted = true,
++ };
++ WL_DBG(("%s: Aborting scan\n", __FUNCTION__));
++ cfg80211_scan_done(wl->scan_request, &info);
++#else
+ WL_DBG(("%s: Aborting scan\n", __FUNCTION__));
+ cfg80211_scan_done(wl->scan_request, true);
++#endif
+ wl->scan_request = NULL;
+ }
+
+@@ -2490,7 +2498,14 @@ wl_notify_scan_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
+
+ scan_done_out:
+ if (wl->scan_request) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ struct cfg80211_scan_info info = {
++ .aborted = false,
++ };
++ cfg80211_scan_done(wl->scan_request, &info);
++#else
+ cfg80211_scan_done(wl->scan_request, false);
++#endif
+ wl->scan_request = NULL;
+ }
+ rtnl_unlock();
+@@ -2909,7 +2924,14 @@ s32 wl_cfg80211_down(struct net_device *ndev)
+ s32 err = 0;
+
+ if (wl->scan_request) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ struct cfg80211_scan_info info = {
++ .aborted = true,
++ };
++ cfg80211_scan_done(wl->scan_request, &info);
++#else
+ cfg80211_scan_done(wl->scan_request, true);
++#endif
+ wl->scan_request = NULL;
+ }
+
+--
+2.7.4
+
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2016-12-09 19:39 Matt Turner
0 siblings, 0 replies; 10+ messages in thread
From: Matt Turner @ 2016-12-09 19:39 UTC (permalink / raw
To: gentoo-commits
commit: ddc55138ecddc88b3472b97235fbe3078b9b35db
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 9 19:37:03 2016 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Fri Dec 9 19:39:46 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddc55138
net-wireless/broadcom-sta: Drop old versions.
All of the upstream download links have changed, and I since I doubt
anyone uses any of these old versions, throw them out instead of fixing
them.
net-wireless/broadcom-sta/Manifest | 7 -
.../broadcom-sta-6.30.223.141-r2.ebuild | 67 ----
.../broadcom-sta-6.30.223.248-r4.ebuild | 78 -----
.../broadcom-sta-6.30.223.248-r5.ebuild | 79 -----
.../broadcom-sta-6.30.223.271-r2.ebuild | 76 -----
.../broadcom-sta-6.30.223.271-r3.ebuild | 77 -----
.../broadcom-sta-6.30.223.30-r2.ebuild | 83 -----
.../files/broadcom-sta-6.30.223.141-license.patch | 10 -
.../broadcom-sta-6.30.223.141-linux-3.10.0.patch | 102 ------
.../broadcom-sta-6.30.223.141-linux-3.15.patch | 17 -
.../broadcom-sta-6.30.223.141-linux-recent.patch | 126 --------
.../broadcom-sta-6.30.223.248-linux-3.17.patch | 29 --
.../broadcom-sta-6.30.223.248-linux-3.18.patch | 30 --
...adcom-sta-6.30.223.248-r3-linux-3.15-3.18.patch | 350 ---------------------
.../broadcom-sta-6.30.223.248-r3-linux-4.0.patch | 26 --
.../broadcom-sta-6.30.223.248-r4-linux-4.2.patch | 16 -
.../broadcom-sta-6.30.223.271-r2-linux-4.3.patch | 12 -
.../broadcom-sta-6.30.223.271-r3-linux-4.7.patch | 14 -
.../broadcom-sta-6.30.223.30-linux-3.10.0.patch | 102 ------
.../broadcom-sta-6.30.223.30-linux-3.9.0.patch | 17 -
.../files/broadcom-sta-6.30.223.30-makefile.patch | 14 -
21 files changed, 1332 deletions(-)
diff --git a/net-wireless/broadcom-sta/Manifest b/net-wireless/broadcom-sta/Manifest
index e39f94d..d298806 100644
--- a/net-wireless/broadcom-sta/Manifest
+++ b/net-wireless/broadcom-sta/Manifest
@@ -1,10 +1,3 @@
-DIST README-broadcom-sta-6.30.223.248.txt 16775 SHA256 e25eaa7e666a361abff679d7518c75200ee4d90f8e5cb16f69af3f033c68811a SHA512 e635629f0a75059fa13b2bd2a756397631bc0add43786b0064d3f0232c9bd42dae394b9631846bf602f6cea628a49928ec2344df453ec5075168736627494020 WHIRLPOOL 4b0923b276bca6c3a0f8b37c903e3cd1b3f9ea37b07ffe308b831e505c691f4b77489abd491cd2c7334fe692846fe797c7d4b0ac63e8786f4190f5c2791e6b46
DIST README-broadcom-sta-6.30.223.271.txt 16755 SHA256 4d6d63f6eb40f84359be06f1f6f26075827a0d25cdaa364d8ccb6561bf162e34 SHA512 ce277af132b656705aee3f8072d1082bfd2a1b7c63a9e330a470546437d4034e7964c64a4f9c326bf15c5f74b9c09a56d720542a41e5ae6e0d42d335488f31f5 WHIRLPOOL 3a544132315cbbc633ac6b6102d71109fea3b9e7742c299f2fe403ecc43206380051c91353c4d79033ac1939fe862b84cb8e435f06687af804fdc2ad5619beb7
-DIST bcmwl-kernel-source_6.30.223.30%2Bbdcom-0ubuntu1%7Eppa1_amd64.deb 1779122 SHA256 de6529ae67f339aee185be93e3c12ffa944ef6b4807d176d6fda661de52136ba SHA512 93b17029538ec17be61902f1e5237a300f532dc88fd7475ac202c249a9cec099c5d170b0ebc043e1bda1987f6f925b6a28d4aa80748218f735a3790ded0565cd WHIRLPOOL 47f54a2fc286e58adef1383496fe3e65430ef643d8e7b8830cb87c0558319780f71944296211c62ccccaa4e3a216019fc5a29dd48903240362c656bb79ae55c2
-DIST bcmwl-kernel-source_6.30.223.30%2Bbdcom-0ubuntu1%7Eppa1_i386.deb 1732452 SHA256 d689040ac2ef67b9947f892b52764cd94c2090499747b57d63c2b40c7bc8eabb SHA512 323db5e6c8fc702990d7137bd11d2e8bba7ed073ee8da00125d147872edf90dd051a959198dbdaf92808403cdcfd582f17afb8a6f5e741382d3a0cffd6ce130a WHIRLPOOL db24f078e2639f609021028304e7caf48b9a3737b6fdf4b2522ab74606c6cb0b11a94706978b1fd1acdf66c59e351a4a433cf9e500862931a1e9dce6e5562c01
-DIST hybrid-v35-nodebug-pcoem-6_30_223_141.tar.gz 1735911 SHA256 d57c33f6bf4ebe68cac67ffe39c2260b8990bb0f07413dfd021dd4db845199a7 SHA512 adb3d9d9375888df3317d6af3d6d45c53412a677e5431051cbfe8c9eac3b13760022fd9b970e77caaeb0fa010ee8bd32ad80076d7279b60719bfb8562c09951f WHIRLPOOL f037e26d7f85d9a1bf3f2638fa6d6bbda43384e24fb249e90afcfff792be8013f1e0f2a1876c4675e39911d4e4877f0ab785eab15f7a6460621fe14c21bab486
-DIST hybrid-v35-nodebug-pcoem-6_30_223_248.tar.gz 2824762 SHA256 b196543a429c22b2b8d75d0c1d9e6e7ff212c3d3e1f42cc6fd9e4858f01da1ad SHA512 9f067cf5e1be562c78252791c0b2324b568c8533903842e18e92f2b10c3277e1d15ed42a5925acbd443de373f5113d05447b885a8d52ef57695babe48d68a0ff WHIRLPOOL f3bfef5b3dcbf6d051facbda0078a9850a1cf2f851bca07fd7538ffc3d5c0bf118622d217bb7737fdd87825af73b61ddd2d9a52c3d13a8070be02d1a584a8b14
DIST hybrid-v35-nodebug-pcoem-6_30_223_271.tar.gz 2869247 SHA256 4f8b70b293ac8cc5c70e571ad5d1878d0f29d133a46fe7869868d9c19b5058cd SHA512 0361ba30d97bcb1dedf46c11ef1b9a16f09cde3faa6be87b3ccc28679f34183c2fdf511e7c3b5c26b304f6961da454ccf71844b92bbb2f25aa876249496a2f1b WHIRLPOOL c96c21e4d497136c4ac5a8f3f1d3e84a7b5f5478ca7c1276262481d66b919639f475b99783ad993c01c94e380275fdd6eb39dd53f224b43912f7a395cada575c
-DIST hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz 1786627 SHA256 5f37b2b879e29b220dc64ce2e93d922dc231d4241da03bcbab15ced10e649b4a SHA512 a83defe4553f680b984bf49788377436c5f563f2920c129d87a3930fb6501d0f833d353acf229fa4f67b761e4564428c62bc1c8e3e23c0727d01b8c4f797f6af WHIRLPOOL d1ddc19e29a6927ae0f172613d429a92d5009515b4db1bc188b0ced41ff39565512d4f85721bcf4ddd0a951afadfd7bc303219ed93a20f83e1936a9c82717e47
-DIST hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz 2875739 SHA256 3d994cc6c05198f4b6f07a213ac1e9e45a45159899e6c4a7feca5e6c395c3022 SHA512 ce1e9f7f52cd98eaba5cf4ec0c7276bddf3ad906a0111eb236665daca72f36139ca4a8af72658cf91b0eaaa8479e54f5bb3bce77a0cc9bc1966f044b76b8295a WHIRLPOOL 6393507f340f4244d8e40c81102e37f9df0d5dbc0ce4e0fd3ed187ddde6faf3be9bfae59371eb307d031974b5b6d1417c7c11fbdd51b9f3b168ccd83d48276d9
DIST hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz 2928541 SHA256 5f79774d5beec8f7636b59c0fb07a03108eef1e3fd3245638b20858c714144be SHA512 6855781f7c69a9aecb9461932423688964879d5a4df571f01ae7adaa7bf21a410bef839605d555afb6c8f4eec92fe8510af6cb120930095617ff6cdcccedaf17 WHIRLPOOL 8a905a35581f5c4a1177a3da7356731a360ba5c72e2897d363682afc49b73c46b031776012bba983842b894505d71e6f20f9404120b676e0b79b9ef003342e56
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.141-r2.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.141-r2.ebuild
deleted file mode 100644
index 1cc1f5f..00000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.141-r2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-license.patch" \
- "${FILESDIR}/${P}-makefile.patch" \
- "${FILESDIR}/${P}-linux-recent.patch" \
- "${FILESDIR}/${P}-eth-to-wlan.patch" \
- "${FILESDIR}/${P}-gcc.patch" \
- "${FILESDIR}/${P}-linux-3.15.patch"
-
- epatch_user
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r4.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r4.ebuild
deleted file mode 100644
index 34689fd..00000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r4.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-6.30.223.141-license.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-linux-3.15-3.18.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-linux-4.0.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r4-linux-4.2.patch"
-
- epatch_user
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc "${DISTDIR}/README-${P}.txt"
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r5.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r5.ebuild
deleted file mode 100644
index 28098da..00000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.248-r5.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-6.30.223.141-license.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-linux-3.15-3.18.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-linux-4.0.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r4-linux-4.2.patch" \
- "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch"
-
- epatch_user
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc "${DISTDIR}/README-${P}.txt"
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r2.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r2.ebuild
deleted file mode 100644
index adaeedb..00000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r2.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
- "${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch" \
- "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3.patch"
-
- epatch_user
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc "${DISTDIR}/README-${P}.txt"
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild
deleted file mode 100644
index 6029b0c..00000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r3.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="http://www.broadcom.com/support/802.11/"
-SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- http://www.broadcom.com/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!BCMA ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-6.30.223.141-makefile.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch" \
- "${FILESDIR}/${PN}-6.30.223.141-gcc.patch" \
- "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch" \
- "${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch" \
- "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch" \
- "${FILESDIR}/${PN}-6.30.223.271-r3-linux-4.7.patch"
-
- epatch_user
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc "${DISTDIR}/README-${P}.txt"
-}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild
deleted file mode 100644
index e5cdaf8..00000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit eutils linux-info linux-mod unpacker
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="https://launchpad.net/ubuntu/+source/bcmwl http://www.broadcom.com/support/802.11/linux_sta.php"
-BASE_URI="https://launchpad.net/~albertomilone/+archive/broadcom/+files"
-BASE_NAME="bcmwl-kernel-source_${PV}%2Bbdcom-0ubuntu1%7Eppa1_"
-SRC_URI="amd64? ( ${BASE_URI}/${BASE_NAME}amd64.deb )
- x86? ( ${BASE_URI}/${BASE_NAME}i386.deb )"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-#S="${WORKDIR}"
-S="${WORKDIR}/usr/src/bcmwl-${PV}+bdcom"
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!SSB"
- CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_unpack() {
- local arch_suffix
- if use amd64; then
- arch_suffix="amd64"
- else
- arch_suffix="i386"
- fi
- unpack_deb "${BASE_NAME}${arch_suffix}.deb"
-}
-
-src_prepare() {
-# Filter the outdated patches here
- EPATCH_FORCE="yes" EPATCH_EXCLUDE="0002* 0004* 0005*" EPATCH_SOURCE="${S}/patches" EPATCH_SUFFIX=patch epatch
-# Makefile.patch: keep `emake install` working
-# linux-3.9.0.patch: add support for kernel 3.9.0
-# linux-3.10.0.patch: add support for kernel 3.10, bug #477372
- epatch "${FILESDIR}/${P}-makefile.patch" \
- "${FILESDIR}/${P}-linux-3.9.0.patch" \
- "${FILESDIR}/${P}-linux-3.10.0.patch"
- mv "${S}/lib/wlc_hybrid.o_shipped_"* "${S}/lib/wlc_hybrid.o_shipped" \
- || die "Where is the blob?"
-
- epatch_user
-}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-license.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-license.patch
deleted file mode 100644
index cd46709..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-license.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/wl/sys/wl_linux.c 2013-08-01 08:52:22.000000000 +0200
-+++ b/src/wl/sys/wl_linux.c 2013-09-13 14:26:42.613839899 +0200
-@@ -225,6 +225,7 @@
-
- static int nompc = 0;
- module_param(nompc, int, 0);
-+MODULE_LICENSE("Mixed/Proprietary");
-
- #ifdef quote_str
- #undef quote_str
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-linux-3.10.0.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-linux-3.10.0.patch
deleted file mode 100644
index c575f28..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-linux-3.10.0.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -Naur bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c
---- bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c 2013-04-23 12:31:31.011588881 +0200
-+++ bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c 2013-05-20 18:27:18.830187333 +0200
-@@ -3229,7 +3229,12 @@
- wl_tkip_printstats(wl_info_t *wl, bool group_key)
- {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
-+ struct seq_file sfile;
-+ struct seq_file *debug_buf = &sfile;
-+#else
- char debug_buf[512];
-+#endif
- int idx;
- if (wl->tkipmodops) {
- if (group_key) {
-@@ -3242,7 +3247,11 @@
- wl->tkipmodops->print_stats(debug_buf, wl->tkip_ucast_data);
- else
- return;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
-+ printk("%s: TKIP stats from module: %s\n", debug_buf->buf, group_key?"Bcast":"Ucast");
-+#else
- printk("%s: TKIP stats from module: %s\n", debug_buf, group_key?"Bcast":"Ucast");
-+#endif
- }
- #endif
- }
-@@ -3401,17 +3410,24 @@
- return 0;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- static int
- wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
-+#else
-+static ssize_t
-+wl_proc_read (struct file *filp, char __user *buffer, size_t length, loff_t *data)
-+#endif
- {
- wl_info_t * wl = (wl_info_t *)data;
- int bcmerror, to_user;
- int len;
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- if (offset > 0) {
- *eof = 1;
- return 0;
- }
-+#endif
-
- if (!length) {
- WL_ERROR(("%s: Not enough return buf space\n", __FUNCTION__));
-@@ -3424,8 +3440,13 @@
- return len;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- static int
- wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *data)
-+#else
-+static ssize_t
-+wl_proc_write (struct file *filp, const char __user *buff, size_t length, loff_t *data)
-+#endif
- {
- wl_info_t * wl = (wl_info_t *)data;
- int from_user = 0;
-@@ -3455,19 +3476,34 @@
- return length;
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
-+static const struct file_operations wl_fops = {
-+ .owner = THIS_MODULE,
-+ .read = wl_proc_read,
-+ .write = wl_proc_write,
-+};
-+#endif
-+
- static int
- wl_reg_proc_entry(wl_info_t *wl)
- {
- char tmp[32];
- sprintf(tmp, "%s%d", HYBRID_PROC, wl->pub->unit);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
- WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp));
-+#else
-+ if ((wl->proc_entry = proc_create(tmp, 0644, NULL, &wl_fops)) == NULL) {
-+ WL_ERROR(("%s: proc_create %s failed\n", __FUNCTION__, tmp));
-+#endif
- ASSERT(0);
- return -1;
- }
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- wl->proc_entry->read_proc = wl_proc_read;
- wl->proc_entry->write_proc = wl_proc_write;
- wl->proc_entry->data = wl;
-+#endif
- return 0;
- }
- #ifdef WLOFFLD
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-linux-3.15.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-linux-3.15.patch
deleted file mode 100644
index 5596c0e..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-linux-3.15.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Add channel parameter to cfg80211_ibss_joined call
-
---- a/src/wl/sys/wl_cfg80211_hybrid.c
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c
-@@ -1841,7 +1841,12 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
- wl_get_assoc_ies(wl);
- memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
- wl_update_bss_info(wl);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
- cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
-+#else
-+ cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid,
-+ &wl->conf->channel, GFP_KERNEL);
-+#endif
- set_bit(WL_STATUS_CONNECTED, &wl->status);
- wl->profile->active = true;
- }
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-linux-recent.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-linux-recent.patch
deleted file mode 100644
index 97a331a..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-linux-recent.patch
+++ /dev/null
@@ -1,126 +0,0 @@
---- a/src/wl/sys/wl_linux.c 2013-08-01 08:52:22.000000000 +0200
-+++ b/src/wl/sys/wl_linux.c 2013-09-13 14:25:36.463020788 +0200
-@@ -910,7 +910,11 @@
- pci_set_drvdata(pdev, NULL);
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
- static struct pci_driver wl_pci_driver = {
-+#else
-+static struct pci_driver wl_pci_driver __refdata = {
-+#endif
- name: "wl",
- probe: wl_pci_probe,
- suspend: wl_suspend,
-@@ -3235,7 +3239,7 @@
- void
- wl_tkip_printstats(wl_info_t *wl, bool group_key)
- {
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- char debug_buf[512];
- int idx;
- if (wl->tkipmodops) {
-@@ -3408,6 +3412,7 @@
- return 0;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- static int
- wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
- {
-@@ -3462,19 +3467,90 @@
- return length;
- }
-
-+#else
-+
-+static int
-+wl_proc_read(struct seq_file *seq, void *offset)
-+{
-+ wl_info_t * wl = (wl_info_t *)seq->private;
-+ int bcmerror, to_user;
-+
-+ WL_LOCK(wl);
-+ bcmerror = wlc_ioctl(wl->wlc, WLC_GET_MONITOR, &to_user, sizeof(int), NULL);
-+ WL_UNLOCK(wl);
-+
-+ seq_printf(seq, "%d\n", to_user);
-+ return bcmerror;
-+}
-+
-+static ssize_t wl_proc_write(struct file *file, const char __user *buff,
-+ size_t length, loff_t *ppos)
-+{
-+ struct seq_file *seq = file->private_data;
-+ wl_info_t * wl = (wl_info_t *)seq->private;
-+ int bcmerror, from_user = 0;
-+
-+ if (length != 1) {
-+ WL_ERROR(("%s: Invalid data length\n", __FUNCTION__));
-+ return -EIO;
-+ }
-+
-+ if (copy_from_user(&from_user, buff, 1)) {
-+ WL_ERROR(("%s: copy from user failed\n", __FUNCTION__));
-+ return -EFAULT;
-+ }
-+
-+ if (from_user >= 0x30)
-+ from_user -= 0x30;
-+
-+ WL_LOCK(wl);
-+ bcmerror = wlc_ioctl(wl->wlc, WLC_SET_MONITOR, &from_user, sizeof(int), NULL);
-+ WL_UNLOCK(wl);
-+
-+ if (bcmerror < 0) {
-+ WL_ERROR(("%s: SET_MONITOR failed with %d\n", __FUNCTION__, bcmerror));
-+ return -EIO;
-+ }
-+ *ppos += length;
-+ return length;
-+}
-+
-+static int wl_proc_open(struct inode *inode, struct file *file)
-+{
-+ return single_open(file, wl_proc_read, PDE_DATA(inode));
-+}
-+
-+static const struct file_operations wl_proc_fops = {
-+ .owner = THIS_MODULE,
-+ .open = wl_proc_open,
-+ .read = seq_read,
-+ .write = wl_proc_write,
-+ .llseek = seq_lseek,
-+ .release = single_release,
-+};
-+#endif
-+
- static int
- wl_reg_proc_entry(wl_info_t *wl)
- {
- char tmp[32];
- sprintf(tmp, "%s%d", HYBRID_PROC, wl->pub->unit);
-- if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
-+ wl->proc_entry = create_proc_entry(tmp, 0644, NULL);
-+ if (wl->proc_entry) {
-+ wl->proc_entry->read_proc = wl_proc_read;
-+ wl->proc_entry->write_proc = wl_proc_write;
-+ wl->proc_entry->data = wl;
-+ }
-+#else
-+ wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_proc_fops, wl);
-+#endif
-+ if (!wl->proc_entry) {
- WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp));
- ASSERT(0);
- return -1;
- }
-- wl->proc_entry->read_proc = wl_proc_read;
-- wl->proc_entry->write_proc = wl_proc_write;
-- wl->proc_entry->data = wl;
- return 0;
- }
- #ifdef WLOFFLD
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.17.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.17.patch
deleted file mode 100644
index 6ee0092..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.17.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 5f7db08c046bd31b162a102ca868fa334a0357b9 Mon Sep 17 00:00:00 2001
-From: Michael Marineau <mike@marineau.org>
-Date: Sat, 20 Sep 2014 12:49:43 -0700
-Subject: [PATCH] linux 3.17
-
-http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c835a677331495cf137a7f8a023463afd9f032f8
----
- src/wl/sys/wl_linux.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
-index 1622127..11c4ec2 100644
---- a/src/wl/sys/wl_linux.c
-+++ b/src/wl/sys/wl_linux.c
-@@ -1308,7 +1308,11 @@ wl_alloc_linux_if(wl_if_t *wlif)
- dev->priv = priv_link;
- #else
-
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0))
- dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup);
-+#else
-+ dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_UNKNOWN, ether_setup);
-+#endif
- if (!dev) {
- WL_ERROR(("wl%d: %s: alloc_netdev failed\n",
- (wl->pub)?wl->pub->unit:wlif->subunit, __FUNCTION__));
---
-1.8.5.5
-
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.18.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.18.patch
deleted file mode 100644
index 4860912..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-linux-3.18.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 5aae9ccfda6dfc680403b4a5ff9a36dcd5331dfd Mon Sep 17 00:00:00 2001
-From: Michael Marineau <mike@marineau.org>
-Date: Tue, 11 Nov 2014 15:17:46 -0800
-Subject: [PATCH] linux 3.18
-
-http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5bc8c1f2b070bab82ed738f98ecfac725e33c57f
----
- src/wl/sys/wl_cfg80211_hybrid.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
-index 514a892..e3ebef2 100644
---- a/src/wl/sys/wl_cfg80211_hybrid.c
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c
-@@ -2010,7 +2010,11 @@ static s32 wl_inform_single_bss(struct wl_cfg80211_priv *wl, struct wl_bss_info
-
- notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
- notify_ielen = le32_to_cpu(bi->ie_length);
-- cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
-+ cbss = cfg80211_inform_bss(wiphy, channel,
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
-+ CFG80211_BSS_FTYPE_UNKNOWN,
-+#endif
-+ (const u8 *)(bi->BSSID.octet),
- 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
- (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
-
---
-2.0.4
-
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r3-linux-3.15-3.18.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r3-linux-3.15-3.18.patch
deleted file mode 100644
index 7fe6319..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r3-linux-3.15-3.18.patch
+++ /dev/null
@@ -1,350 +0,0 @@
---- a/src/wl/sys/wl_cfg80211_hybrid.c 2014-06-26 12:42:08.000000000 +0200
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2015-01-22 01:43:25.378920452 +0100
-@@ -63,8 +63,13 @@
- static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev,
- struct cfg80211_ibss_params *params);
- static s32 wl_cfg80211_leave_ibss(struct wiphy *wiphy, struct net_device *dev);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)
- static s32 wl_cfg80211_get_station(struct wiphy *wiphy,
- struct net_device *dev, u8 *mac, struct station_info *sinfo);
-+#else
-+static s32 wl_cfg80211_get_station(struct wiphy *wiphy,
-+ struct net_device *dev, const u8 *mac, struct station_info *sinfo);
-+#endif
- static s32 wl_cfg80211_set_power_mgmt(struct wiphy *wiphy,
- struct net_device *dev, bool enabled, s32 timeout);
- static int wl_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev,
-@@ -1387,7 +1392,7 @@
- key_endian_to_host(&key);
-
- params.key_len = (u8) min_t(u8, DOT11_MAX_KEY_SIZE, key.len);
-- memcpy(params.key, key.data, params.key_len);
-+ memcpy((char *)params.key, key.data, params.key_len);
-
- if ((err = wl_dev_ioctl(dev, WLC_GET_WSEC, &wsec, sizeof(wsec)))) {
- return err;
-@@ -1421,9 +1426,15 @@
- return err;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)
- static s32
- wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev,
- u8 *mac, struct station_info *sinfo)
-+#else
-+static s32
-+wl_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev,
-+ const u8 *mac, struct station_info *sinfo)
-+#endif
- {
- struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy);
- scb_val_t scb_val;
-@@ -2010,9 +2021,15 @@
-
- notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
- notify_ielen = le32_to_cpu(bi->ie_length);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
- cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
- 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
- (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
-+#else
-+ cbss = cfg80211_inform_bss(wiphy, channel, CFG80211_BSS_FTYPE_UNKNOWN, (const u8 *)(bi->BSSID.octet),
-+ 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
-+ (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
-+#endif
-
- if (unlikely(!cbss))
- return -ENOMEM;
-@@ -2071,7 +2088,26 @@
- wl_get_assoc_ies(wl);
- memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
- wl_update_bss_info(wl);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
-+ {
-+ struct wl_bss_info *bi;
-+ u16 bss_info_channel;
-+ struct ieee80211_channel *channel;
-+ u32 freq;
-+
-+ bi = (struct wl_bss_info *)(wl->extra_buf + 4);
-+ bss_info_channel = bi->ctl_ch ? bi->ctl_ch : CHSPEC_CHANNEL(bi->chanspec);
-+
-+ freq = ieee80211_channel_to_frequency(bss_info_channel,
-+ (bss_info_channel <= CH_MAX_2G_CHANNEL) ?
-+ IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
-+
-+ channel = ieee80211_get_channel(wl_to_wiphy(wl), freq);
-+ cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
-+ }
-+#else
- cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
-+#endif
- set_bit(WL_STATUS_CONNECTED, &wl->status);
- wl->profile->active = true;
- }
-@@ -2629,7 +2665,15 @@
-
- void wl_cfg80211_detach(struct net_device *ndev)
- {
-- struct wl_cfg80211_priv *wl = ndev_to_wl(ndev);
-+ struct wl_cfg80211_priv *wl;
-+ struct wireless_dev *wdev;
-+
-+ wdev = ndev->ieee80211_ptr;
-+ if (wdev == NULL) {
-+ printk(KERN_ERR "[%s()] in ndev=%p: IEEE80211ptr=%p\n", __FUNCTION__, ndev, wdev);
-+ return;
-+ }
-+ wl = ndev_to_wl(ndev);
-
- wl_deinit_cfg80211_priv(wl);
- wl_free_wdev(wl);
---- a/src/wl/sys/wl_dbg.h 2014-06-26 12:42:08.000000000 +0200
-+++ b/src/wl/sys/wl_dbg.h 2015-01-22 01:43:25.379920462 +0100
-@@ -55,10 +55,12 @@
-
- #define WL_NONE(args)
-
-+#define FORCE_TRACE_LEVEL(fmt, ...) do { printk(KERN_ERR fmt, ## __VA_ARGS__); } while (0) /* ## is GCC specific syntax to remove comma when single arg */
-+
- #ifdef BCMDBG_ERR
- #define WL_ERROR(args) WL_PRINT(args)
- #else
--#define WL_ERROR(args)
-+#define WL_ERROR(args) FORCE_TRACE_LEVEL args
- #endif
- #define WL_TRACE(args)
- #define WL_APSTA_UPDN(args)
---- a/src/wl/sys/wl_linux.c 2014-06-26 12:42:08.000000000 +0200
-+++ b/src/wl/sys/wl_linux.c 2015-01-22 01:44:58.580453805 +0100
-@@ -878,7 +878,7 @@
- static SIMPLE_DEV_PM_OPS(wl_pm_ops, wl_suspend, wl_resume);
- #endif
-
--static struct pci_driver wl_pci_driver = {
-+static struct pci_driver wl_pci_driver __refdata = {
- .name = "wl",
- .probe = wl_pci_probe,
- .remove = __devexit_p(wl_remove),
-@@ -1270,6 +1270,7 @@
- MFREE(wl->osh, wlif->dev, sizeof(struct net_device));
- #else
- free_netdev(wlif->dev);
-+ wlif->dev = NULL;
- #endif
- }
-
-@@ -1307,7 +1308,12 @@
- dev->priv = priv_link;
- #else
-
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0))
- dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup);
-+#else
-+ dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_UNKNOWN,
-+ ether_setup);
-+#endif
- if (!dev) {
- WL_ERROR(("wl%d: %s: alloc_netdev failed\n",
- (wl->pub)?wl->pub->unit:wlif->subunit, __FUNCTION__));
-@@ -1651,11 +1657,7 @@
- }
-
- WL_LOCK(wl);
-- if (!capable(CAP_NET_ADMIN)) {
-- bcmerror = BCME_EPERM;
-- } else {
-- bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
-- }
-+ bcmerror = wlc_ioctl(wl->wlc, ioc.cmd, buf, ioc.len, wlif->wlcif);
- WL_UNLOCK(wl);
-
- done1:
-@@ -2157,8 +2159,8 @@
- wlif = WL_DEV_IF(dev);
- wl = WL_INFO(dev);
-
-+ skb->prev = NULL;
- if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) {
-- skb->prev = NULL;
-
- TXQ_LOCK(wl);
-
-@@ -2455,8 +2457,10 @@
- p80211msg_t *phdr;
-
- len = sizeof(p80211msg_t) + oskb->len - D11_PHY_HDR_LEN;
-- if ((skb = dev_alloc_skb(len)) == NULL)
-+ if ((skb = dev_alloc_skb(len)) == NULL) {
-+ WL_ERROR(("in %s:%d [%s()] dev_alloc_skb() failure!", __FILE__, __LINE__, __FUNCTION__));
- return;
-+ }
-
- skb_put(skb, len);
- phdr = (p80211msg_t*)skb->data;
-@@ -2535,8 +2539,10 @@
- rtap_len = sizeof(wl_radiotap_ht_brcm_2_t);
-
- len = rtap_len + (oskb->len - D11_PHY_HDR_LEN);
-- if ((skb = dev_alloc_skb(len)) == NULL)
-+ if ((skb = dev_alloc_skb(len)) == NULL) {
-+ WL_ERROR(("in %s:%d [%s()] dev_alloc_skb() failure!", __FILE__, __LINE__, __FUNCTION__));
- return;
-+ }
-
- skb_put(skb, len);
-
-@@ -2664,8 +2670,10 @@
- len += amsdu_len;
- }
-
-- if ((skb = dev_alloc_skb(len)) == NULL)
-+ if ((skb = dev_alloc_skb(len)) == NULL) {
-+ WL_ERROR(("in %s:%d [%s()] dev_alloc_skb() failure!", __FILE__, __LINE__, __FUNCTION__));
- return;
-+ }
-
- skb_put(skb, len);
-
-@@ -2990,7 +2998,7 @@
- }
-
- void
--wl_set_monitor(wl_info_t *wl, int val)
-+wl_set_monitor(wl_info_t *wl, int val) /* public => is called by wlc_hybrid.o_shipped */
- {
- const char *devname;
- wl_if_t *wlif;
-@@ -3224,42 +3232,75 @@
- #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- static int
- wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
-+{
-+ wl_info_t * wl = (wl_info_t *)data;
- #else
- static ssize_t
--wl_proc_read(struct file *filp, char __user *buffer, size_t length, loff_t *data)
--#endif
-+wl_proc_read(struct file *filp, char __user *buffer, size_t length, loff_t *offp)
- {
-- wl_info_t * wl = (wl_info_t *)data;
-- int to_user;
-- int len;
-+ wl_info_t * wl = PDE_DATA(file_inode(filp));
-+#endif
-+ int bcmerror, len;
-+ int to_user = 0;
-+ char tmp[8];
-
- #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- if (offset > 0) {
- *eof = 1;
- return 0;
- }
-+#else
-+ if (*offp > 0) { /* for example, stop: cat /proc/brcm_monitor0 */
-+ return 0; /* 0 <=> EOF */
-+ }
- #endif
-
-- if (!length) {
-- WL_ERROR(("%s: Not enough return buf space\n", __FUNCTION__));
-- return 0;
-- }
- WL_LOCK(wl);
-- wlc_ioctl(wl->wlc, WLC_GET_MONITOR, &to_user, sizeof(int), NULL);
-- len = sprintf(buffer, "%d\n", to_user);
-- WL_UNLOCK(wl);
-- return len;
-+ bcmerror = wlc_ioctl(wl->wlc, WLC_GET_MONITOR, &to_user, sizeof(int), NULL);
-+ WL_UNLOCK(wl);
-+
-+ if (bcmerror != BCME_OK) {
-+ WL_ERROR(("%s: GET_MONITOR failed with %d\n", __FUNCTION__, bcmerror));
-+ return -EIO;
-+ }
-+
-+ len = snprintf(tmp, ARRAY_SIZE(tmp), "%d\n", to_user);
-+ tmp[ARRAY_SIZE(tmp) - 1] = '\0';
-+ if (len >= ARRAY_SIZE(tmp)) {
-+ printk(KERN_ERR "%s:%d [%s()] output would be truncated (ret=%d)!", __FILE__, __LINE__, __FUNCTION__, len);
-+ return -ERANGE;
-+ }
-+ else if (len < 0) {
-+ printk(KERN_ERR "%s:%d [%s()] unable to convert value (ret=%d)!", __FILE__, __LINE__, __FUNCTION__, len);
-+ return len;
-+ }
-+ if (length < len) {
-+ printk(KERN_ERR "%s:%d [%s()] user buffer is too small (at least=%d ; user=%d)!", __FILE__, __LINE__, __FUNCTION__, len, (int)length);
-+ return -EMSGSIZE;
-+ }
-+ if (copy_to_user(buffer, tmp, len) != 0) {
-+ printk(KERN_ERR "%s:%d [%s()] unable to copy data!", __FILE__, __LINE__, __FUNCTION__);
-+ return -EFAULT;
-+ }
-+
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
-+ *offp += len;
-+#endif
-+
-+ return len;
- }
-
- #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- static int
- wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *data)
-+{
-+ wl_info_t * wl = (wl_info_t *)data;
- #else
- static ssize_t
--wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t *data)
--#endif
-+wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t *offp)
- {
-- wl_info_t * wl = (wl_info_t *)data;
-+ wl_info_t * wl = PDE_DATA(file_inode(filp));
-+#endif
- int from_user = 0;
- int bcmerror;
-
-@@ -3270,7 +3311,11 @@
- }
- if (copy_from_user(&from_user, buff, 1)) {
- WL_ERROR(("%s: copy from user failed\n", __FUNCTION__));
-- return -EIO;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
-+ return -EIO;
-+#else
-+ return -EFAULT;
-+#endif
- }
-
- if (from_user >= 0x30)
-@@ -3280,10 +3325,15 @@
- bcmerror = wlc_ioctl(wl->wlc, WLC_SET_MONITOR, &from_user, sizeof(int), NULL);
- WL_UNLOCK(wl);
-
-- if (bcmerror < 0) {
-+ if (bcmerror != BCME_OK) {
- WL_ERROR(("%s: SET_MONITOR failed with %d\n", __FUNCTION__, bcmerror));
- return -EIO;
- }
-+
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) && 0 /* no need to update offset because this file should only trigger action... */
-+ *offp += length;
-+#endif
-+
- return length;
- }
-
-@@ -3304,8 +3354,8 @@
- if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
- WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp));
- #else
-- if ((wl->proc_entry = proc_create(tmp, 0644, NULL, &wl_fops)) == NULL) {
-- WL_ERROR(("%s: proc_create %s failed\n", __FUNCTION__, tmp));
-+ if ((wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_fops, wl)) == NULL) {
-+ WL_ERROR(("%s: proc_create_data %s failed\n", __FUNCTION__, tmp));
- #endif
- ASSERT(0);
- return -1;
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r3-linux-4.0.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r3-linux-4.0.patch
deleted file mode 100644
index 6d18c19..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r3-linux-4.0.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- src/wl/sys/wl_cfg80211_hybrid.c.orig 2015-04-27 11:08:10.252439465 +0000
-+++ src/wl/sys/wl_cfg80211_hybrid.c 2015-04-27 11:10:52.454433122 +0000
-@@ -1441,7 +1441,11 @@ wl_cfg80211_get_station(struct wiphy *wi
- WL_DBG(("Could not get rate (%d)\n", err));
- } else {
- rate = dtoh32(rate);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
- sinfo->filled |= STATION_INFO_TX_BITRATE;
-+#else
-+ sinfo->filled |= BIT(NL80211_STA_INFO_TX_BITRATE);
-+#endif
- sinfo->txrate.legacy = rate * 5;
- WL_DBG(("Rate %d Mbps\n", (rate / 2)));
- }
-@@ -1454,7 +1458,11 @@ wl_cfg80211_get_station(struct wiphy *wi
- return err;
- }
- rssi = dtoh32(scb_val.val);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
- sinfo->filled |= STATION_INFO_SIGNAL;
-+#else
-+ sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL);
-+#endif
- sinfo->signal = rssi;
- WL_DBG(("RSSI %d dBm\n", rssi));
- }
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r4-linux-4.2.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r4-linux-4.2.patch
deleted file mode 100644
index 9e9f8a1..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r4-linux-4.2.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
-index ea0726f..1541dad 100644
---- a/src/wl/sys/wl_cfg80211_hybrid.c
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c
-@@ -2047,7 +2047,11 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
- }
- else if ((event == WLC_E_LINK && ~(flags & WLC_EVENT_MSG_LINK)) ||
- event == WLC_E_DEAUTH_IND || event == WLC_E_DISASSOC_IND) {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
-+ cfg80211_disconnected(ndev, 0, NULL, 0, false, GFP_KERNEL);
-+#else
- cfg80211_disconnected(ndev, 0, NULL, 0, GFP_KERNEL);
-+#endif
- clear_bit(WL_STATUS_CONNECTED, &wl->status);
- wl_link_down(wl);
- wl_init_prof(wl->profile);
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r2-linux-4.3.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r2-linux-4.3.patch
deleted file mode 100644
index 7869dbf..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r2-linux-4.3.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN a/src/shared/linux_osl.c b/src/shared/linux_osl.c
---- a/src/shared/linux_osl.c 2015-11-26 12:16:23.343091098 -0800
-+++ b/src/shared/linux_osl.c 2015-11-26 12:17:08.657092739 -0800
-@@ -932,7 +932,7 @@
- uint cycles;
-
- #if defined(__i386__)
-- rdtscl(cycles);
-+ cycles = (u32)native_read_tsc();
- #else
- cycles = 0;
- #endif
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r3-linux-4.7.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r3-linux-4.7.patch
deleted file mode 100644
index 55b30e3..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r3-linux-4.7.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-08-20 17:19:11.285578121 +0200
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-08-20 17:20:55.611574041 +0200
-@@ -49,6 +49,11 @@
- u32 wl_dbg_level = WL_DBG_ERR;
- #endif
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+#define IEEE80211_BAND_2GHZ NL80211_BAND_2GHZ
-+#define IEEE80211_BAND_5GHZ NL80211_BAND_5GHZ
-+#endif
-+
- static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
- enum nl80211_iftype type, u32 *flags, struct vif_params *params);
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch
deleted file mode 100644
index c575f28..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -Naur bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c
---- bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c 2013-04-23 12:31:31.011588881 +0200
-+++ bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c 2013-05-20 18:27:18.830187333 +0200
-@@ -3229,7 +3229,12 @@
- wl_tkip_printstats(wl_info_t *wl, bool group_key)
- {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
-+ struct seq_file sfile;
-+ struct seq_file *debug_buf = &sfile;
-+#else
- char debug_buf[512];
-+#endif
- int idx;
- if (wl->tkipmodops) {
- if (group_key) {
-@@ -3242,7 +3247,11 @@
- wl->tkipmodops->print_stats(debug_buf, wl->tkip_ucast_data);
- else
- return;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
-+ printk("%s: TKIP stats from module: %s\n", debug_buf->buf, group_key?"Bcast":"Ucast");
-+#else
- printk("%s: TKIP stats from module: %s\n", debug_buf, group_key?"Bcast":"Ucast");
-+#endif
- }
- #endif
- }
-@@ -3401,17 +3410,24 @@
- return 0;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- static int
- wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
-+#else
-+static ssize_t
-+wl_proc_read (struct file *filp, char __user *buffer, size_t length, loff_t *data)
-+#endif
- {
- wl_info_t * wl = (wl_info_t *)data;
- int bcmerror, to_user;
- int len;
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- if (offset > 0) {
- *eof = 1;
- return 0;
- }
-+#endif
-
- if (!length) {
- WL_ERROR(("%s: Not enough return buf space\n", __FUNCTION__));
-@@ -3424,8 +3440,13 @@
- return len;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- static int
- wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *data)
-+#else
-+static ssize_t
-+wl_proc_write (struct file *filp, const char __user *buff, size_t length, loff_t *data)
-+#endif
- {
- wl_info_t * wl = (wl_info_t *)data;
- int from_user = 0;
-@@ -3455,19 +3476,34 @@
- return length;
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
-+static const struct file_operations wl_fops = {
-+ .owner = THIS_MODULE,
-+ .read = wl_proc_read,
-+ .write = wl_proc_write,
-+};
-+#endif
-+
- static int
- wl_reg_proc_entry(wl_info_t *wl)
- {
- char tmp[32];
- sprintf(tmp, "%s%d", HYBRID_PROC, wl->pub->unit);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
- WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp));
-+#else
-+ if ((wl->proc_entry = proc_create(tmp, 0644, NULL, &wl_fops)) == NULL) {
-+ WL_ERROR(("%s: proc_create %s failed\n", __FUNCTION__, tmp));
-+#endif
- ASSERT(0);
- return -1;
- }
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- wl->proc_entry->read_proc = wl_proc_read;
- wl->proc_entry->write_proc = wl_proc_write;
- wl->proc_entry->data = wl;
-+#endif
- return 0;
- }
- #ifdef WLOFFLD
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch
deleted file mode 100644
index a6e3d3d..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- src.orig/wl/sys/wl_cfg80211_hybrid.c
-+++ src/wl/sys/wl_cfg80211_hybrid.c
-@@ -2013,8 +2013,12 @@
- ie_len = (size_t)(ies->len);
- rcu_read_unlock();
- #endif
-- cfg80211_put_bss(bss);
-- }
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)
-+ cfg80211_put_bss(bss);
-+#else
-+ cfg80211_put_bss(wl_to_wiphy(wl), bss);
-+#endif
-+ }
-
- tim = bcm_parse_tlvs(ie, ie_len, WLAN_EID_TIM);
- if (tim) {
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch
deleted file mode 100644
index 09c495d..00000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- Makefile.old 2013-04-28 22:42:59.000000000 +0200
-+++ Makefile 2013-04-28 22:45:53.000000000 +0200
-@@ -128,9 +128,9 @@
-
- EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped
-
--KBASE ?= /lib/modules/`uname -r`
-+KBASE ?= /lib/modules/${KV_FULL}
- KBUILD_DIR ?= $(KBASE)/build
--MDEST_DIR ?= $(KBASE)/kernel/drivers/net/wireless
-+MDEST_DIR ?= ${D}$(KBASE)/kernel/drivers/net/wireless
-
- all:
- KBUILD_NOPEDANTIC=1 make -C $(KBUILD_DIR) M=`pwd`
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2017-06-10 23:20 Matt Turner
0 siblings, 0 replies; 10+ messages in thread
From: Matt Turner @ 2017-06-10 23:20 UTC (permalink / raw
To: gentoo-commits
commit: 585c4d59c257faae50dd714419b97683381b1432
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 10 22:55:01 2017 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 22:55:01 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=585c4d59
net-wireless/broadcom-sta: Patch for Linux 4.12 changes
.../broadcom-sta-6.30.223.271-r4.ebuild | 3 +-
.../broadcom-sta-6.30.223.271-r4-linux-4.12.patch | 64 ++++++++++++++++++++++
2 files changed, 66 insertions(+), 1 deletion(-)
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 d86dba144a2..5cf284a4ceb 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
@@ -66,7 +66,8 @@ src_prepare() {
"${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch" \
"${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.11.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.12.patch"
epatch_user
}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.12.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.12.patch
new file mode 100644
index 00000000000..94c6253f803
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.12.patch
@@ -0,0 +1,64 @@
+diff -ru work.orig/src/wl/sys/wl_cfg80211_hybrid.c work.patched/src/wl/sys/wl_cfg80211_hybrid.c
+--- work.orig/src/wl/sys/wl_cfg80211_hybrid.c 2017-06-10 15:50:27.328823384 -0700
++++ work.patched/src/wl/sys/wl_cfg80211_hybrid.c 2017-06-10 15:52:40.540809187 -0700
+@@ -52,8 +52,13 @@
+ u32 wl_dbg_level = WL_DBG_ERR;
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
++ enum nl80211_iftype type, struct vif_params *params);
++#else
+ static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
+ enum nl80211_iftype type, u32 *flags, struct vif_params *params);
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
+ static s32
+ wl_cfg80211_scan(struct wiphy *wiphy,
+@@ -466,7 +471,11 @@
+
+ static s32
+ wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ enum nl80211_iftype type,
++#else
+ enum nl80211_iftype type, u32 *flags,
++#endif
+ struct vif_params *params)
+ {
+ struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy);
+@@ -2361,12 +2370,26 @@
+ const wl_event_msg_t *e, void *data)
+ {
+ struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ struct cfg80211_roam_info roam_info = {};
++#endif
+ s32 err = 0;
+
+ wl_get_assoc_ies(wl);
+ memcpy(wl->profile->bssid, &e->addr, ETHER_ADDR_LEN);
+ memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
+ wl_update_bss_info(wl);
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ roam_info.channel = &wl->conf->channel,
++ roam_info.bssid = (u8 *)&wl->bssid,
++ roam_info.req_ie = conn_info->req_ie,
++ roam_info.req_ie_len = conn_info->req_ie_len,
++ roam_info.resp_ie = conn_info->resp_ie,
++ roam_info.resp_ie_len = conn_info->resp_ie_len,
++
++ cfg80211_roamed(ndev, &roam_info, GFP_KERNEL);
++#else
+ cfg80211_roamed(ndev,
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
+ &wl->conf->channel,
+@@ -2374,6 +2397,7 @@
+ (u8 *)&wl->bssid,
+ conn_info->req_ie, conn_info->req_ie_len,
+ conn_info->resp_ie, conn_info->resp_ie_len, GFP_KERNEL);
++#endif
+ WL_DBG(("Report roaming result\n"));
+
+ set_bit(WL_STATUS_CONNECTED, &wl->status);
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2017-06-10 23:20 Matt Turner
0 siblings, 0 replies; 10+ messages in thread
From: Matt Turner @ 2017-06-10 23:20 UTC (permalink / raw
To: gentoo-commits
commit: 0272772c6bcb89b49774dedd7eda8dee26d905b1
Author: Yehoshua Pesach Wallach <yehoshuapw <AT> gmail <DOT> com>
AuthorDate: Thu Jun 1 18:37:54 2017 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 22:28:30 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0272772c
net-wireless/broadcom-sta: apply archlinux patch fixing bugs for kernel 4.11
https://bugs.archlinux.org/task/53974
https://aur.archlinux.org/cgit/aur.git/tree/linux411.patch?h=broadcom-wl
Package-Manager: Portage-2.3.5, Repoman-2.3.2
Closes: https://github.com/gentoo/gentoo/pull/4822
.../broadcom-sta-6.30.223.271-r4.ebuild | 3 +-
.../broadcom-sta-6.30.223.271-r4-linux-4.11.patch | 52 ++++++++++++++++++++++
2 files changed, 54 insertions(+), 1 deletion(-)
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 91929969983..d86dba144a2 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
@@ -65,7 +65,8 @@ src_prepare() {
"${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch" \
"${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch" \
"${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.8.patch" \
+ "${FILESDIR}/${PN}-6.30.223.271-r4-linux-4.11.patch"
epatch_user
}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch
new file mode 100644
index 00000000000..a779f8c84cf
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch
@@ -0,0 +1,52 @@
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+index a9671e2..da36405 100644
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -30,6 +30,9 @@
+ #include <linux/kthread.h>
+ #include <linux/netdevice.h>
+ #include <linux/ieee80211.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++#include <linux/sched/signal.h>
++#endif
+ #include <net/cfg80211.h>
+ #include <linux/nl80211.h>
+ #include <net/rtnetlink.h>
+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
+@@ -117,6 +117,9 @@ int wl_found = 0;
+
+ typedef struct priv_link {
+ wl_if_t *wlif;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++ unsigned long last_rx;
++#endif
+ } priv_link_t;
+
+ #define WL_DEV_IF(dev) ((wl_if_t*)((priv_link_t*)DEV_PRIV(dev))->wlif)
+@@ -2450,6 +2453,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
+ {
+ struct sk_buff *oskb = (struct sk_buff *)p;
+ struct sk_buff *skb;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++ priv_link_t *priv_link;
++#endif
+ uchar *pdata;
+ uint len;
+
+@@ -2916,7 +2922,13 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
+ if (skb == NULL) return;
+
+ skb->dev = wl->monitor_dev;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++ priv_link = MALLOC(wl->osh, sizeof(priv_link_t));
++ priv_link = netdev_priv(skb->dev);
++ priv_link->last_rx = jiffies;
++#else
+ skb->dev->last_rx = jiffies;
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+ skb_reset_mac_header(skb);
+ #else
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2023-06-24 16:13 Mike Pagano
0 siblings, 0 replies; 10+ messages in thread
From: Mike Pagano @ 2023-06-24 16:13 UTC (permalink / raw
To: gentoo-commits
commit: b1469bc903cac37bff61b41532127110909d5f57
Author: Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 16:09:49 2023 +0000
Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 16:09:49 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1469bc9
net-wireless/broadcom-sta: add 6.30.223.271-r7
Bump to EAPI-8
Migrate to linux-mod-r1
Include arch patches
Address pkgcheck errors concerning S in pkg_setup
Fix compilation errors
Thanks to the following users that provided patches
ShadowOne333
Alan Kyder
Closes: https://bugs.gentoo.org/836093
Closes: https://bugs.gentoo.org/852569
Closes: https://bugs.gentoo.org/836165
Closes: https://bugs.gentoo.org/839648
Closes: https://bugs.gentoo.org/908711
Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>
.../broadcom-sta-6.30.223.271-r7.ebuild | 103 ++++++++++
.../broadcom-sta/files/001-null-pointer-fix.patch | 48 +++++
net-wireless/broadcom-sta/files/002-rdtscl.patch | 22 +++
net-wireless/broadcom-sta/files/003-linux47.patch | 109 +++++++++++
net-wireless/broadcom-sta/files/004-linux48.patch | 64 +++++++
.../files/005-debian-fix-kernel-warnings.patch | 161 ++++++++++++++++
net-wireless/broadcom-sta/files/006-linux411.patch | 27 +++
net-wireless/broadcom-sta/files/007-linux412.patch | 78 ++++++++
net-wireless/broadcom-sta/files/008-linux415.patch | 46 +++++
.../files/009-fix_mac_profile_discrepancy.patch | 14 ++
net-wireless/broadcom-sta/files/010-linux56.patch | 55 ++++++
net-wireless/broadcom-sta/files/011-linux59.patch | 211 +++++++++++++++++++++
net-wireless/broadcom-sta/files/012-linux517.patch | 80 ++++++++
net-wireless/broadcom-sta/files/013-linux518.patch | 71 +++++++
net-wireless/broadcom-sta/files/014-linux414.patch | 37 ++++
net-wireless/broadcom-sta/files/015-linux600.patch | 31 +++
net-wireless/broadcom-sta/files/016-linux601.patch | 90 +++++++++
.../broadcom-sta/files/broadcom-sta-modules.conf | 17 ++
18 files changed, 1264 insertions(+)
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r7.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r7.ebuild
new file mode 100644
index 000000000000..efe1beb913de
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r7.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit linux-mod-r1
+
+DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
+HOMEPAGE="https://www.broadcom.com/support/802.11"
+SRC_BASE="https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35"
+SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
+ amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
+ https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
+
+LICENSE="Broadcom"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="mirror"
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+PATCHES=(
+ "${FILESDIR}/001-null-pointer-fix.patch"
+ "${FILESDIR}/002-rdtscl.patch"
+ "${FILESDIR}/003-linux47.patch"
+ "${FILESDIR}/004-linux48.patch"
+ "${FILESDIR}/005-debian-fix-kernel-warnings.patch"
+ "${FILESDIR}/006-linux411.patch"
+ "${FILESDIR}/007-linux412.patch"
+ "${FILESDIR}/008-linux415.patch"
+ "${FILESDIR}/009-fix_mac_profile_discrepancy.patch"
+ "${FILESDIR}/010-linux56.patch"
+ "${FILESDIR}/011-linux59.patch"
+ "${FILESDIR}/012-linux517.patch"
+ "${FILESDIR}/013-linux518.patch"
+ "${FILESDIR}/014-linux414.patch"
+ "${FILESDIR}/015-linux600.patch"
+ "${FILESDIR}/016-linux601.patch"
+)
+
+pkg_pretend() {
+ ewarn
+ ewarn "If you are stuck using this unmaintained driver (likely in a MacBook),"
+ ewarn "you may be interested to know that a newer compatible wireless card"
+ ewarn "is supported by the in-tree brcmfmac driver. It has a model number "
+ ewarn "BCM943602CS and is for sale on the second hand market for less than "
+ ewarn "20 USD."
+ ewarn
+ ewarn "See https://wikidevi.com/wiki/Broadcom_Wireless_Adapters and"
+ ewarn " https://wikidevi.com/wiki/Broadcom_BCM943602CS"
+ ewarn "for more information."
+ ewarn
+}
+
+pkg_setup() {
+ # bug #300570
+ # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
+ # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
+ # b43 via udev rules. Moreover, previous fix broke binpkgs support.
+ CONFIG_CHECK="~!B43 ~!BCMA ~!SSB ~!X86_INTEL_LPSS"
+ CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+ ERROR_B43="B43: If you insist on building this, you must blacklist it!"
+ ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
+ ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
+ ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
+ ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
+ ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
+ ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
+ ERROR_X86_INTEL_LPSS="X86_INTEL_LPSS: Please disable it. The module does not work with it enabled."
+ if kernel_is ge 3 8 8; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
+ elif kernel_is ge 2 6 32; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
+ elif kernel_is ge 2 6 31; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
+ elif kernel_is ge 2 6 29; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
+ else
+ CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
+ fi
+
+ linux-mod-r1_pkg_setup
+}
+
+src_compile() {
+ local modlist=( wl )
+ local modargs=(
+ -C ${KV_DIR} M="${S}"
+ )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/broadcom-sta-modules.conf wl.conf
+ dodoc "${DISTDIR}/README-${P}.txt"
+}
diff --git a/net-wireless/broadcom-sta/files/001-null-pointer-fix.patch b/net-wireless/broadcom-sta/files/001-null-pointer-fix.patch
new file mode 100644
index 000000000000..0ebe1e242243
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/001-null-pointer-fix.patch
@@ -0,0 +1,48 @@
+Description: Fixing null pointer crash
+
+Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773713
+Bug-Ubuntu: https://launchpad.net/bugs/1415880
+Last-Update: 2015-08-18
+
+---
+ src/wl/sys/wl_linux.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+index 860b935..295156f 100644
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -2157,8 +2157,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev)
+ wlif = WL_DEV_IF(dev);
+ wl = WL_INFO(dev);
+
++ skb->prev = NULL;
+ if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) {
+- skb->prev = NULL;
+
+ TXQ_LOCK(wl);
+
+--
+1.9.1
+
+--- a/src/wl/sys/wl_linux.a 2023-04-16 23:06:52.255588442 -0500
++++ b/src/wl/sys/wl_linux.c 2023-04-16 23:07:22.315309655 -0500
+@@ -737,9 +737,6 @@
+ dev->name, device,
+ WL_ALL_PASSIVE_ENAB(wl) ? ", Passive Mode" : "", EPI_VERSION_STR);
+
+-#ifdef BCMDBG
+- printf(" (Compiled in " SRCBASE " at " __TIME__ " on " __DATE__ ")");
+-#endif
+ printf("\n");
+
+ wl_found++;
+@@ -2098,7 +2095,7 @@
+ wl_dump_ver(wl_info_t *wl, struct bcmstrbuf *b)
+ {
+ bcm_bprintf(b, "wl%d: %s %s version %s\n", wl->pub->unit,
+- __DATE__, __TIME__, EPI_VERSION_STR);
++ "X", "Y", EPI_VERSION_STR);
+ }
+
+ #if defined(BCMDBG)
diff --git a/net-wireless/broadcom-sta/files/002-rdtscl.patch b/net-wireless/broadcom-sta/files/002-rdtscl.patch
new file mode 100644
index 000000000000..1b9862cc3d8d
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/002-rdtscl.patch
@@ -0,0 +1,22 @@
+Since Linux 4.3, rdtscl() is no longer available and native_read_tsc()
+is renamed to rdtsc(). Move the macro contents in-line and call the
+new function. References:
+
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=fe47ae6e1a5005b2e82f7eab57b5c3820453293a
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=4ea1636b04dbd66536fa387bae2eea463efc705b
+
+diff -ru a/src/shared/linux_osl.c b/src/shared/linux_osl.c
+--- a/src/shared/linux_osl.c 2015-09-19 01:47:15.000000000 +0300
++++ b/src/shared/linux_osl.c 2015-11-21 15:20:30.585902518 +0200
+@@ -932,7 +932,11 @@
+ uint cycles;
+
+ #if defined(__i386__)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
++ cycles = (u32)rdtsc();
++#else
+ rdtscl(cycles);
++#endif
+ #else
+ cycles = 0;
+ #endif
diff --git a/net-wireless/broadcom-sta/files/003-linux47.patch b/net-wireless/broadcom-sta/files/003-linux47.patch
new file mode 100644
index 000000000000..566680a09140
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/003-linux47.patch
@@ -0,0 +1,109 @@
+Since Linux 4.7, the enum ieee80211_band is no longer used
+
+This shall cause no problem's since both enums ieee80211_band
+and nl80211_band were added in the same commit:
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c
+
+This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_*
+
+Reference:
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
+
+--- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:57:36.159340297 -0500
++++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:58:18.442323435 -0500
+@@ -236,7 +236,7 @@
+ #endif
+
+ #define CHAN2G(_channel, _freq, _flags) { \
+- .band = IEEE80211_BAND_2GHZ, \
++ .band = NL80211_BAND_2GHZ, \
+ .center_freq = (_freq), \
+ .hw_value = (_channel), \
+ .flags = (_flags), \
+@@ -245,7 +245,7 @@
+ }
+
+ #define CHAN5G(_channel, _flags) { \
+- .band = IEEE80211_BAND_5GHZ, \
++ .band = NL80211_BAND_5GHZ, \
+ .center_freq = 5000 + (5 * (_channel)), \
+ .hw_value = (_channel), \
+ .flags = (_flags), \
+@@ -379,7 +379,7 @@
+ };
+
+ static struct ieee80211_supported_band __wl_band_2ghz = {
+- .band = IEEE80211_BAND_2GHZ,
++ .band = NL80211_BAND_2GHZ,
+ .channels = __wl_2ghz_channels,
+ .n_channels = ARRAY_SIZE(__wl_2ghz_channels),
+ .bitrates = wl_g_rates,
+@@ -387,7 +387,7 @@
+ };
+
+ static struct ieee80211_supported_band __wl_band_5ghz_a = {
+- .band = IEEE80211_BAND_5GHZ,
++ .band = NL80211_BAND_5GHZ,
+ .channels = __wl_5ghz_a_channels,
+ .n_channels = ARRAY_SIZE(__wl_5ghz_a_channels),
+ .bitrates = wl_a_rates,
+@@ -395,7 +395,7 @@
+ };
+
+ static struct ieee80211_supported_band __wl_band_5ghz_n = {
+- .band = IEEE80211_BAND_5GHZ,
++ .band = NL80211_BAND_5GHZ,
+ .channels = __wl_5ghz_n_channels,
+ .n_channels = ARRAY_SIZE(__wl_5ghz_n_channels),
+ .bitrates = wl_a_rates,
+@@ -1876,8 +1876,8 @@
+ wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX;
+ #endif
+ wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
+- wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz;
+- wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a;
++ wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz;
++ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a;
+ wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
+ wdev->wiphy->cipher_suites = __wl_cipher_suites;
+ wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites);
+@@ -2000,7 +2000,7 @@
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
+ freq = ieee80211_channel_to_frequency(notif_bss_info->channel,
+ (notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ?
+- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
++ NL80211_BAND_2GHZ : NL80211_BAND_5GHZ);
+ #else
+ freq = ieee80211_channel_to_frequency(notif_bss_info->channel);
+ #endif
+@@ -2116,7 +2116,7 @@
+ return err;
+ }
+ chan = wf_chspec_ctlchan(chanspec);
+- band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
++ band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
+ freq = ieee80211_channel_to_frequency(chan, band);
+ channel = ieee80211_get_channel(wiphy, freq);
+ cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
+@@ -2250,10 +2250,10 @@
+ join_params->params.chanspec_list[0] =
+ ieee80211_frequency_to_channel(chan->center_freq);
+
+- if (chan->band == IEEE80211_BAND_2GHZ) {
++ if (chan->band == NL80211_BAND_2GHZ) {
+ chanspec |= WL_CHANSPEC_BAND_2G;
+ }
+- else if (chan->band == IEEE80211_BAND_5GHZ) {
++ else if (chan->band == NL80211_BAND_5GHZ) {
+ chanspec |= WL_CHANSPEC_BAND_5G;
+ }
+ else {
+@@ -2885,7 +2885,7 @@
+
+ if (phy == 'n' || phy == 'a' || phy == 'v') {
+ wiphy = wl_to_wiphy(wl);
+- wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n;
++ wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n;
+ }
+
+ return err;
diff --git a/net-wireless/broadcom-sta/files/004-linux48.patch b/net-wireless/broadcom-sta/files/004-linux48.patch
new file mode 100644
index 000000000000..20e8a9ae49d2
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/004-linux48.patch
@@ -0,0 +1,64 @@
+From d3f93542326a06d920c6eb89b703384290d37b8b Mon Sep 17 00:00:00 2001
+From: Alberto Milone <alberto.milone@canonical.com>
+Date: Fri, 2 Sep 2016 17:35:34 +0200
+Subject: [PATCH 1/1] Add support for Linux 4.8
+
+Orginal author: Krzysztof Kolasa
+---
+ src/wl/sys/wl_cfg80211_hybrid.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+index 2fc71fe..ec5e472 100644
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -2388,8 +2388,16 @@ wl_bss_connect_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
+ s32 err = 0;
+
+ if (wl->scan_request) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ struct cfg80211_scan_info info = {
++ .aborted = true,
++ };
++ WL_DBG(("%s: Aborting scan\n", __FUNCTION__));
++ cfg80211_scan_done(wl->scan_request, &info);
++#else
+ WL_DBG(("%s: Aborting scan\n", __FUNCTION__));
+ cfg80211_scan_done(wl->scan_request, true);
++#endif
+ wl->scan_request = NULL;
+ }
+
+@@ -2490,7 +2498,14 @@ wl_notify_scan_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
+
+ scan_done_out:
+ if (wl->scan_request) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ struct cfg80211_scan_info info = {
++ .aborted = false,
++ };
++ cfg80211_scan_done(wl->scan_request, &info);
++#else
+ cfg80211_scan_done(wl->scan_request, false);
++#endif
+ wl->scan_request = NULL;
+ }
+ rtnl_unlock();
+@@ -2909,7 +2924,14 @@ s32 wl_cfg80211_down(struct net_device *ndev)
+ s32 err = 0;
+
+ if (wl->scan_request) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ struct cfg80211_scan_info info = {
++ .aborted = true,
++ };
++ cfg80211_scan_done(wl->scan_request, &info);
++#else
+ cfg80211_scan_done(wl->scan_request, true);
++#endif
+ wl->scan_request = NULL;
+ }
+
+--
+2.7.4
+
diff --git a/net-wireless/broadcom-sta/files/005-debian-fix-kernel-warnings.patch b/net-wireless/broadcom-sta/files/005-debian-fix-kernel-warnings.patch
new file mode 100644
index 000000000000..e9bf66a959b8
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/005-debian-fix-kernel-warnings.patch
@@ -0,0 +1,161 @@
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -1968,7 +1968,7 @@
+
+ if (dtoh32(bi->length) > WL_BSS_INFO_MAX) {
+ WL_DBG(("Beacon is larger than buffer. Discarding\n"));
+- return err;
++ return -E2BIG;
+ }
+ notif_bss_info = kzalloc(sizeof(*notif_bss_info) + sizeof(*mgmt) - sizeof(u8) +
+ WL_BSS_INFO_MAX, GFP_KERNEL);
+@@ -1992,9 +1992,15 @@
+ beacon_proberesp->capab_info = cpu_to_le16(bi->capability);
+ wl_rst_ie(wl);
+
+- wl_mrg_ie(wl, ((u8 *) bi) + bi->ie_offset, bi->ie_length);
+- wl_cp_ie(wl, beacon_proberesp->variable, WL_BSS_INFO_MAX -
++ err = wl_mrg_ie(wl, ((u8 *) bi) + bi->ie_offset, bi->ie_length);
++ if (err)
++ goto inform_single_bss_out;
++
++ err = wl_cp_ie(wl, beacon_proberesp->variable, WL_BSS_INFO_MAX -
+ offsetof(struct wl_cfg80211_bss_info, frame_buf));
++ if (err)
++ goto inform_single_bss_out;
++
+ notif_bss_info->frame_len = offsetof(struct ieee80211_mgmt, u.beacon.variable) +
+ wl_get_ielen(wl);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
+@@ -2006,14 +2012,14 @@
+ #endif
+ if (freq == 0) {
+ WL_ERR(("Invalid channel, fail to chcnage channel to freq\n"));
+- kfree(notif_bss_info);
+- return -EINVAL;
++ err = -EINVAL;
++ goto inform_single_bss_out;
+ }
+ channel = ieee80211_get_channel(wiphy, freq);
+ if (unlikely(!channel)) {
+ WL_ERR(("ieee80211_get_channel error\n"));
+- kfree(notif_bss_info);
+- return -EINVAL;
++ err = -EINVAL;
++ goto inform_single_bss_out;
+ }
+
+ WL_DBG(("SSID : \"%s\", rssi %d, channel %d, capability : 0x04%x, bssid %pM\n",
+@@ -2021,28 +2027,37 @@
+ mgmt->u.beacon.capab_info, &bi->BSSID));
+
+ signal = notif_bss_info->rssi * 100;
+- cbss = cfg80211_inform_bss_frame(wiphy, channel, mgmt,
+- le16_to_cpu(notif_bss_info->frame_len), signal, GFP_KERNEL);
+- if (unlikely(!cbss)) {
+- WL_ERR(("cfg80211_inform_bss_frame error\n"));
+- kfree(notif_bss_info);
+- return -EINVAL;
+- }
+
+- notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
+- notify_ielen = le32_to_cpu(bi->ie_length);
++ if (!wl->scan_request) {
++ cbss = cfg80211_inform_bss_frame(wiphy, channel, mgmt,
++ le16_to_cpu(notif_bss_info->frame_len), signal, GFP_KERNEL);
++ if (unlikely(!cbss)) {
++ WL_ERR(("cfg80211_inform_bss_frame error\n"));
++ err = -ENOMEM;
++ goto inform_single_bss_out;
++ }
++ } else {
++ notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
++ notify_ielen = le32_to_cpu(bi->ie_length);
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+- cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
+- 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
+- (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
++ cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
++ 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
++ (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
+ #else
+- cbss = cfg80211_inform_bss(wiphy, channel, CFG80211_BSS_FTYPE_UNKNOWN, (const u8 *)(bi->BSSID.octet),
+- 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
+- (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
++ cbss = cfg80211_inform_bss(wiphy, channel,
++ wl->active_scan ?
++ CFG80211_BSS_FTYPE_PRESP : CFG80211_BSS_FTYPE_BEACON,
++ (const u8 *)(bi->BSSID.octet), 0,
++ beacon_proberesp->capab_info,
++ beacon_proberesp->beacon_int,
++ (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
+ #endif
+-
+- if (unlikely(!cbss))
+- return -ENOMEM;
++ if (unlikely(!cbss)) {
++ WL_ERR(("cfg80211_inform_bss error\n"));
++ err = -ENOMEM;
++ goto inform_single_bss_out;
++ }
++ }
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
+ cfg80211_put_bss(wiphy, cbss);
+@@ -2050,6 +2065,7 @@
+ cfg80211_put_bss(cbss);
+ #endif
+
++inform_single_bss_out:
+ kfree(notif_bss_info);
+
+ return err;
+@@ -2316,6 +2332,9 @@
+ if (err)
+ goto update_bss_info_out;
+
++ bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
++ ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS);
++
+ ie = ((u8 *)bi) + bi->ie_offset;
+ ie_len = bi->ie_length;
+ } else {
+@@ -2328,11 +2347,18 @@
+ ie_len = bss->len_information_elements;
+ #endif
+ wl->conf->channel = *bss->channel;
++ }
++
++ if (bss) {
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
+ cfg80211_put_bss(wiphy, bss);
+ #else
+ cfg80211_put_bss(bss);
+ #endif
++ } else {
++ WL_DBG(("Could not update BSS\n"));
++ err = -EINVAL;
++ goto update_bss_info_out;
+ }
+
+ tim = bcm_parse_tlvs(ie, ie_len, WLAN_EID_TIM);
+@@ -2360,10 +2386,17 @@
+ struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl);
+ s32 err = 0;
+
+- wl_get_assoc_ies(wl);
++ err = wl_get_assoc_ies(wl);
++ if (err)
++ return err;
++
+ memcpy(wl->profile->bssid, &e->addr, ETHER_ADDR_LEN);
+ memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
+- wl_update_bss_info(wl);
++
++ err = wl_update_bss_info(wl);
++ if (err)
++ return err;
++
+ cfg80211_roamed(ndev,
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
+ &wl->conf->channel,
diff --git a/net-wireless/broadcom-sta/files/006-linux411.patch b/net-wireless/broadcom-sta/files/006-linux411.patch
new file mode 100644
index 000000000000..7a2e8c0c6cb0
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/006-linux411.patch
@@ -0,0 +1,27 @@
+diff -u sys0/wl_cfg80211_hybrid.c sys/wl_cfg80211_hybrid.c
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -39,6 +39,10 @@
+ #include <proto/802.11.h>
+ #include <wl_cfg80211_hybrid.h>
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
++#include <linux/sched/signal.h>
++#endif
++
+ #define EVENT_TYPE(e) dtoh32((e)->event_type)
+ #define EVENT_FLAGS(e) dtoh16((e)->flags)
+ #define EVENT_STATUS(e) dtoh32((e)->status)
+diff -u sys0/wl_linux.c sys/wl_linux.c
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -2915,7 +2915,9 @@
+ if (skb == NULL) return;
+
+ skb->dev = wl->monitor_dev;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ skb->dev->last_rx = jiffies;
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+ skb_reset_mac_header(skb);
+ #else
diff --git a/net-wireless/broadcom-sta/files/007-linux412.patch b/net-wireless/broadcom-sta/files/007-linux412.patch
new file mode 100644
index 000000000000..1673f063cdb5
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/007-linux412.patch
@@ -0,0 +1,78 @@
+From 0b888bf115612074df99654140a1980111c29748 Mon Sep 17 00:00:00 2001
+From: Antoine Cotten <tonio.cotten@gmail.com>
+Date: Fri, 7 Jul 2017 15:17:47 +0200
+Subject: [PATCH] Apply patch from Debian bug #867258
+
+Compile fix with kernel 4.12
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867258
+---
+ src/wl/sys/wl_cfg80211_hybrid.c | 29 +++++++++++++++++++++++++----
+ 1 file changed, 25 insertions(+), 4 deletions(-)
+
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+index c46944a..1a9840a 100644
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -53,7 +53,11 @@ u32 wl_dbg_level = WL_DBG_ERR;
+ #endif
+
+ static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
+- enum nl80211_iftype type, u32 *flags, struct vif_params *params);
++ enum nl80211_iftype type,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)
++ u32 *flags,
++#endif
++ struct vif_params *params);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
+ static s32
+ wl_cfg80211_scan(struct wiphy *wiphy,
+@@ -466,8 +470,11 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len)
+
+ static s32
+ wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
+- enum nl80211_iftype type, u32 *flags,
+- struct vif_params *params)
++ enum nl80211_iftype type,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)
++ u32 *flags,
++#endif
++ struct vif_params *params)
+ {
+ struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy);
+ struct wireless_dev *wdev;
+@@ -2387,6 +2394,15 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
+ const wl_event_msg_t *e, void *data)
+ {
+ struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ struct cfg80211_roam_info roam_info = {
++ .bssid = wl->profile->bssid,
++ .req_ie = conn_info->req_ie,
++ .req_ie_len = conn_info->req_ie_len,
++ .resp_ie = conn_info->resp_ie,
++ .resp_ie_len = conn_info->resp_ie_len,
++ };
++#endif
+ s32 err = 0;
+
+ err = wl_get_assoc_ies(wl);
+@@ -2401,12 +2417,17 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
+ return err;
+
+ cfg80211_roamed(ndev,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
++ &roam_info,
++#else
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
+ &wl->conf->channel,
+ #endif
+ (u8 *)&wl->bssid,
+ conn_info->req_ie, conn_info->req_ie_len,
+- conn_info->resp_ie, conn_info->resp_ie_len, GFP_KERNEL);
++ conn_info->resp_ie, conn_info->resp_ie_len,
++#endif
++ GFP_KERNEL);
+ WL_DBG(("Report roaming result\n"));
+
+ set_bit(WL_STATUS_CONNECTED, &wl->status);
+
diff --git a/net-wireless/broadcom-sta/files/008-linux415.patch b/net-wireless/broadcom-sta/files/008-linux415.patch
new file mode 100644
index 000000000000..1bced2f68ab1
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/008-linux415.patch
@@ -0,0 +1,46 @@
+--- a/src/wl/sys/wl_linux.c 2017-07-17 00:11:24.000000000 +0100
++++ b/src/wl/sys/wl_linux.c 2018-01-27 09:49:47.057799596 +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);
+
+@@ -2297,10 +2301,17 @@
+ atomic_dec(&t->wl->callbacks);
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++static void
++wl_timer(struct timer_list *tl)
++{
++ wl_timer_t *t = (wl_timer_t *)tl;
++#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);
+@@ -2352,9 +2363,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;
diff --git a/net-wireless/broadcom-sta/files/009-fix_mac_profile_discrepancy.patch b/net-wireless/broadcom-sta/files/009-fix_mac_profile_discrepancy.patch
new file mode 100644
index 000000000000..4260eba5057a
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/009-fix_mac_profile_discrepancy.patch
@@ -0,0 +1,14 @@
+--- a/src/wl/sys/wl_cfg80211_hybrid.c 2015-09-19 00:47:30.000000000 +0200
++++ b/src/wl/sys/wl_cfg80211_hybrid.c 2018-11-14 14:06:03.313487995 +0100
+@@ -1444,11 +1444,10 @@
+ s32 rate;
+ s32 err = 0;
+
+ if (memcmp(mac, wl->profile->bssid, ETHER_ADDR_LEN)) {
+ WL_ERR(("Wrong Mac address, mac = %pM profile =%pM\n", mac, wl->profile->bssid));
+- return -ENOENT;
+ }
+
+ err = wl_dev_ioctl(dev, WLC_GET_RATE, &rate, sizeof(rate));
+ if (err) {
+ WL_DBG(("Could not get rate (%d)\n", err));
diff --git a/net-wireless/broadcom-sta/files/010-linux56.patch b/net-wireless/broadcom-sta/files/010-linux56.patch
new file mode 100644
index 000000000000..f8d5783819cd
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/010-linux56.patch
@@ -0,0 +1,55 @@
+diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c
+index 6157d18..8237ec7 100644
+--- a/src/shared/linux_osl.c
++++ b/src/shared/linux_osl.c
+@@ -942,7 +942,7 @@ osl_getcycles(void)
+ void *
+ osl_reg_map(uint32 pa, uint size)
+ {
+- return (ioremap_nocache((unsigned long)pa, (unsigned long)size));
++ return (ioremap((unsigned long)pa, (unsigned long)size));
+ }
+
+ void
+diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+index 0d05100..2ed1f0d 100644
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -582,7 +582,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
+ }
+ wl->bcm_bustype = bustype;
+
+- if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
++ if ((wl->regsva = ioremap(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
+ WL_ERROR(("wl%d: ioremap() failed\n", unit));
+ goto fail;
+ }
+@@ -772,7 +772,7 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+ if ((val & 0x0000ff00) != 0)
+ pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
+ bar1_size = pci_resource_len(pdev, 2);
+- bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2),
++ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2),
+ bar1_size);
+ wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev,
+ pdev->irq, bar1_addr, bar1_size);
+@@ -3335,12 +3335,19 @@ wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t
+ }
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
++static struct proc_ops wl_fops = {
++ .proc_read = wl_proc_read,
++ .proc_write = wl_proc_write,
++};
++#else
+ static const struct file_operations wl_fops = {
+ .owner = THIS_MODULE,
+ .read = wl_proc_read,
+ .write = wl_proc_write,
+ };
+ #endif
++#endif
+
+ static int
+ wl_reg_proc_entry(wl_info_t *wl)
diff --git a/net-wireless/broadcom-sta/files/011-linux59.patch b/net-wireless/broadcom-sta/files/011-linux59.patch
new file mode 100644
index 000000000000..6ef476464c0c
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/011-linux59.patch
@@ -0,0 +1,211 @@
+From f3d652840f8dd959395065a1cf67ca40b04ec69b Mon Sep 17 00:00:00 2001
+From: Joan Bruguera <joanbrugueram@gmail.com>
+Date: Tue, 13 Oct 2020 19:35:55 +0200
+Subject: [PATCH] Get rid of get_fs/set_fs calls in Broadcom WL driver.
+
+Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 5.10 (tested -rc1 up to 5.10.1)
+
+Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-23 on Arch Linux.
+
+NB: Some checks in wlc_ioctl_internal are likely superfluous,
+ but I'm not familiar enough with the driver to remove them with confidence.
+
+See also: https://lwn.net/Articles/722267/
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=47058bb54b57962b3958a936ddbc59355e4c5504
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e6e9852d6f76e01b2e6803c74258afa5b432bc5
+
+Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
+---
+ src/wl/sys/wl_cfg80211_hybrid.c | 25 ++-------------------
+ src/wl/sys/wl_iw.c | 25 ++-------------------
+ src/wl/sys/wl_linux.c | 40 ++++++++++++++++++++++++++++-----
+ src/wl/sys/wl_linux.h | 2 ++
+ src/wl/sys/wlc_pub.h | 1 +
+ 5 files changed, 42 insertions(+), 51 deletions(-)
+
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+index 7b606e0..1e0adb7 100644
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -38,6 +38,7 @@
+ #include <wlioctl.h>
+ #include <proto/802.11.h>
+ #include <wl_cfg80211_hybrid.h>
++#include <wl_linux.h>
+
+ #define EVENT_TYPE(e) dtoh32((e)->event_type)
+ #define EVENT_FLAGS(e) dtoh16((e)->flags)
+@@ -435,30 +436,7 @@ static void key_endian_to_host(struct wl_wsec_key *key)
+ static s32
+ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len)
+ {
+- struct ifreq ifr;
+- struct wl_ioctl ioc;
+- mm_segment_t fs;
+- s32 err = 0;
+-
+- BUG_ON(len < sizeof(int));
+-
+- memset(&ioc, 0, sizeof(ioc));
+- ioc.cmd = cmd;
+- ioc.buf = arg;
+- ioc.len = len;
+- strcpy(ifr.ifr_name, dev->name);
+- ifr.ifr_data = (caddr_t)&ioc;
+-
+- fs = get_fs();
+- set_fs(get_ds());
+-#if defined(WL_USE_NETDEV_OPS)
+- err = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
+-#else
+- err = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
+-#endif
+- set_fs(fs);
+-
+- return err;
++ return wlc_ioctl_internal(dev, cmd, arg, len);
+ }
+
+ static s32
+diff --git a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c
+index c4c610b..e346b15 100644
+--- a/src/wl/sys/wl_iw.c
++++ b/src/wl/sys/wl_iw.c
+@@ -37,6 +37,7 @@ typedef const struct si_pub si_t;
+
+ #include <wl_dbg.h>
+ #include <wl_iw.h>
++#include <wl_linux.h>
+
+ extern bool wl_iw_conn_status_str(uint32 event_type, uint32 status,
+ uint32 reason, char* stringBuf, uint buflen);
+@@ -103,29 +104,7 @@ dev_wlc_ioctl(
+ int len
+ )
+ {
+- struct ifreq ifr;
+- wl_ioctl_t ioc;
+- mm_segment_t fs;
+- int ret;
+-
+- memset(&ioc, 0, sizeof(ioc));
+- ioc.cmd = cmd;
+- ioc.buf = arg;
+- ioc.len = len;
+-
+- strcpy(ifr.ifr_name, dev->name);
+- ifr.ifr_data = (caddr_t) &ioc;
+-
+- fs = get_fs();
+- set_fs(get_ds());
+-#if defined(WL_USE_NETDEV_OPS)
+- ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
+-#else
+- ret = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
+-#endif
+- set_fs(fs);
+-
+- return ret;
++ return wlc_ioctl_internal(dev, cmd, arg, len);
+ }
+
+ static int
+diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+index 947cef3..f04c148 100644
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -1643,10 +1643,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
+ goto done2;
+ }
+
+- if (segment_eq(get_fs(), KERNEL_DS))
+- buf = ioc.buf;
+-
+- else if (ioc.buf) {
++ if (ioc.buf) {
+ if (!(buf = (void *) MALLOC(wl->osh, MAX(ioc.len, WLC_IOCTL_MAXLEN)))) {
+ bcmerror = BCME_NORESOURCE;
+ goto done2;
+@@ -1667,7 +1664,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
+ WL_UNLOCK(wl);
+
+ done1:
+- if (ioc.buf && (ioc.buf != buf)) {
++ if (ioc.buf) {
+ if (copy_to_user(ioc.buf, buf, ioc.len))
+ bcmerror = BCME_BADADDR;
+ MFREE(wl->osh, buf, MAX(ioc.len, WLC_IOCTL_MAXLEN));
+@@ -1680,6 +1677,39 @@ done2:
+ return (OSL_ERROR(bcmerror));
+ }
+
++int
++wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len)
++{
++ wl_info_t *wl;
++ wl_if_t *wlif;
++ int bcmerror;
++
++ if (!dev)
++ return -ENETDOWN;
++
++ wl = WL_INFO(dev);
++ wlif = WL_DEV_IF(dev);
++ if (wlif == NULL || wl == NULL || wl->dev == NULL)
++ return -ENETDOWN;
++
++ bcmerror = 0;
++
++ WL_TRACE(("wl%d: wlc_ioctl_internal: cmd 0x%x\n", wl->pub->unit, cmd));
++
++ WL_LOCK(wl);
++ if (!capable(CAP_NET_ADMIN)) {
++ bcmerror = BCME_EPERM;
++ } else {
++ bcmerror = wlc_ioctl(wl->wlc, cmd, buf, len, wlif->wlcif);
++ }
++ WL_UNLOCK(wl);
++
++ ASSERT(VALID_BCMERROR(bcmerror));
++ if (bcmerror != 0)
++ wl->pub->bcmerror = bcmerror;
++ return (OSL_ERROR(bcmerror));
++}
++
+ static struct net_device_stats*
+ wl_get_stats(struct net_device *dev)
+ {
+diff --git a/src/wl/sys/wl_linux.h b/src/wl/sys/wl_linux.h
+index 5b1048e..c8c1f41 100644
+--- a/src/wl/sys/wl_linux.h
++++ b/src/wl/sys/wl_linux.h
+@@ -22,6 +22,7 @@
+ #define _wl_linux_h_
+
+ #include <wlc_types.h>
++#include <wlc_pub.h>
+
+ typedef struct wl_timer {
+ struct timer_list timer;
+@@ -187,6 +188,7 @@ extern irqreturn_t wl_isr(int irq, void *dev_id, struct pt_regs *ptregs);
+ extern int __devinit wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
+ extern void wl_free(wl_info_t *wl);
+ extern int wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
++extern int wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len);
+ extern struct net_device * wl_netdev_get(wl_info_t *wl);
+
+ #endif
+diff --git a/src/wl/sys/wlc_pub.h b/src/wl/sys/wlc_pub.h
+index 53a98b8..2b5a029 100644
+--- a/src/wl/sys/wlc_pub.h
++++ b/src/wl/sys/wlc_pub.h
+@@ -24,6 +24,7 @@
+
+ #include <wlc_types.h>
+ #include <wlc_utils.h>
++#include <siutils.h>
+ #include "proto/802.11.h"
+ #include "proto/bcmevent.h"
+
+--
+2.28.0
diff --git a/net-wireless/broadcom-sta/files/012-linux517.patch b/net-wireless/broadcom-sta/files/012-linux517.patch
new file mode 100644
index 000000000000..6f23316691c8
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/012-linux517.patch
@@ -0,0 +1,80 @@
+From 31b7849092c43805c7fbaf7518b99874aa1b310c Mon Sep 17 00:00:00 2001
+From: Joan Bruguera <joanbrugueram@gmail.com>
+Date: Wed, 12 Jan 2022 20:49:20 +0100
+Subject: [PATCH] Tentative fix for broadcom-wl 6.30.223.271 driver for Linux 5.17-rc1
+
+Set netdev->dev_addr through dev_addr_mod + PDE_DATA fix
+
+Since Linux 5.17 netdev->dev_addr is const and must be changed through
+dev_addr_mod, otherwise a warning is logged in dmesg and bad things may happen.
+
+NB: The #if is not wrong, dev_addr_mod is defined since Linux 5.15-rc1
+
+Plus a trivial fix for PDE_DATA.
+
+Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-28 on Arch Linux.
+
+See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=adeef3e32146a8d2a73c399dc6f5d76a449131b1
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=359745d78351c6f5442435f81549f0207ece28aa
+---
+ src/wl/sys/wl_linux.c | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+index e491df7..e4614fb 100644
+--- a/src/wl/sys/wl_linux.c
++++ b/src/wl/sys/wl_linux.c
+@@ -93,6 +93,10 @@ struct iw_statistics *wl_get_wireless_stats(struct net_device *dev);
+
+ #include <wlc_wowl.h>
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
++#define PDE_DATA pde_data
++#endif
++
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
+ static void wl_timer(struct timer_list *tl);
+ #else
+@@ -490,6 +494,12 @@ wl_if_setup(struct net_device *dev)
+ #endif
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
++static inline void eth_hw_addr_set(struct net_device *dev, const void *addr) {
++ memcpy(dev->dev_addr, addr, ETHER_ADDR_LEN);
++}
++#endif
++
+ static wl_info_t *
+ wl_attach(uint16 vendor, uint16 device, ulong regs,
+ uint bustype, void *btparam, uint irq, uchar* bar1_addr, uint32 bar1_size)
+@@ -634,7 +644,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
+ WL_ERROR(("wl%d: Error setting MAC ADDRESS\n", unit));
+ }
+ #endif
+- bcopy(&wl->pub->cur_etheraddr, dev->dev_addr, ETHER_ADDR_LEN);
++ eth_hw_addr_set(dev, wl->pub->cur_etheraddr.octet);
+
+ online_cpus = 1;
+
+@@ -1835,7 +1845,7 @@ wl_set_mac_address(struct net_device *dev, void *addr)
+
+ WL_LOCK(wl);
+
+- bcopy(sa->sa_data, dev->dev_addr, ETHER_ADDR_LEN);
++ eth_hw_addr_set(dev, sa->sa_data);
+ err = wlc_iovar_op(wl->wlc, "cur_etheraddr", NULL, 0, sa->sa_data, ETHER_ADDR_LEN,
+ IOV_SET, (WL_DEV_IF(dev))->wlcif);
+ WL_UNLOCK(wl);
+@@ -3010,7 +3020,7 @@ _wl_add_monitor_if(wl_task_t *task)
+ else
+ dev->type = ARPHRD_IEEE80211_RADIOTAP;
+
+- bcopy(wl->dev->dev_addr, dev->dev_addr, ETHER_ADDR_LEN);
++ eth_hw_addr_set(dev, wl->dev->dev_addr);
+
+ #if defined(WL_USE_NETDEV_OPS)
+ dev->netdev_ops = &wl_netdev_monitor_ops;
+--
+2.35.1
+
diff --git a/net-wireless/broadcom-sta/files/013-linux518.patch b/net-wireless/broadcom-sta/files/013-linux518.patch
new file mode 100644
index 000000000000..d837429a6899
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/013-linux518.patch
@@ -0,0 +1,71 @@
+diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
+--- a/src/shared/linux_osl.c 2022-05-24 20:51:15.662604980 +0000
++++ b/src/shared/linux_osl.c 2022-05-24 21:13:38.264472425 +0000
+@@ -599,6 +599,8 @@
+ va = kmalloc(size, GFP_ATOMIC | __GFP_ZERO);
+ if (va)
+ *pap = (ulong)__virt_to_phys(va);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
++ va = dma_alloc_coherent(&((struct pci_dev *)osh->pdev)->dev, size, (dma_addr_t*)pap, GFP_ATOMIC);
+ #else
+ va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap);
+ #endif
+@@ -612,6 +614,8 @@
+
+ #ifdef __ARM_ARCH_7A__
+ kfree(va);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
++ dma_free_coherent(&((struct pci_dev *)osh->pdev)->dev, size, va, (dma_addr_t)pa);
+ #else
+ pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa);
+ #endif
+@@ -623,7 +627,11 @@
+ int dir;
+
+ ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
++ dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE;
++#else
+ dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
++#endif
+
+ #if defined(__ARM_ARCH_7A__) && defined(BCMDMASGLISTOSL)
+ if (dmah != NULL) {
+@@ -641,7 +649,11 @@
+ ASSERT(totsegs + nsegs <= MAX_DMA_SEGS);
+ sg->page_link = 0;
+ sg_set_buf(sg, PKTDATA(osh, skb), PKTLEN(osh, skb));
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
++ dma_map_single(&((struct pci_dev *)osh->pdev)->dev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir);
++#else
+ pci_map_single(osh->pdev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir);
++#endif
+ }
+ totsegs += nsegs;
+ totlen += PKTLEN(osh, skb);
+@@ -656,7 +668,11 @@
+ }
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
++ return (dma_map_single(&((struct pci_dev *)osh->pdev)->dev, va, size, dir));
++#else
+ return (pci_map_single(osh->pdev, va, size, dir));
++#endif
+ }
+
+ void BCMFASTPATH
+@@ -665,8 +681,13 @@
+ int dir;
+
+ ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
++ dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE;
++ dma_unmap_single(&((struct pci_dev *)osh->pdev)->dev, (uint32)pa, size, dir);
++#else
+ dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
+ pci_unmap_single(osh->pdev, (uint32)pa, size, dir);
++#endif
+ }
+
+ #if defined(BCMDBG_ASSERT)
diff --git a/net-wireless/broadcom-sta/files/014-linux414.patch b/net-wireless/broadcom-sta/files/014-linux414.patch
new file mode 100644
index 000000000000..0576aa5cf97c
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/014-linux414.patch
@@ -0,0 +1,37 @@
+From: Gerardo Esteban Malazdrewicz <gerardo@malazdrewicz.com.ar>
+Date: Fri, 29 Dec 2017 23:44:24 -0400
+Subject: linux414
+Origin: https://bugs.debian.org/885885
+
+linux 4.14 changed the kernel_read function prototype.
+---
+ src/shared/linux_osl.c | 12 +++++++++++-
+ 1 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c
+index 9adc392..b24a973 100644
+--- a/src/shared/linux_osl.c
++++ b/src/shared/linux_osl.c
+@@ -1076,11 +1076,21 @@ osl_os_get_image_block(char *buf, int len, void *image)
+ {
+ struct file *fp = (struct file *)image;
+ int rdlen;
++ loff_t pos;
+
+ if (!image)
+ return 0;
+
+- rdlen = kernel_read(fp, fp->f_pos, buf, len);
++ pos = fp->f_pos;
++ rdlen = kernel_read(fp,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
++ pos,
++#endif
++ buf, len
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++ ,&pos
++#endif
++ );
+ if (rdlen > 0)
+ fp->f_pos += rdlen;
+
diff --git a/net-wireless/broadcom-sta/files/015-linux600.patch b/net-wireless/broadcom-sta/files/015-linux600.patch
new file mode 100644
index 000000000000..8645907bbae4
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/015-linux600.patch
@@ -0,0 +1,31 @@
+From 933540c63f33e6ac2825d65c4b681ef3387d9146 Mon Sep 17 00:00:00 2001
+From: Antoine Cotten <hello@acotten.com>
+Date: Mon, 15 Aug 2022 17:53:51 +0200
+Subject: [PATCH] cfg80211_roam_info compat for MLO APIs in Linux >= 6.0
+
+The 'bssid' struct field is now under 'links.bssid'.
+
+See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=efbabc11650040c64884ff3019b88c7bcc0ceb1d
+
+Original patch by Joan Bruguera:
+https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d
+---
+ src/wl/sys/wl_cfg80211_hybrid.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+index 5e9e6d3..5ec35c5 100644
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
+@@ -2412,7 +2412,11 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
+ struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+ struct cfg80211_roam_info roam_info = {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
+ .bssid = wl->profile->bssid,
++#else
++ .links[0].bssid = wl->profile->bssid,
++#endif
+ .req_ie = conn_info->req_ie,
+ .req_ie_len = conn_info->req_ie_len,
+ .resp_ie = conn_info->resp_ie,
diff --git a/net-wireless/broadcom-sta/files/016-linux601.patch b/net-wireless/broadcom-sta/files/016-linux601.patch
new file mode 100644
index 000000000000..721967d275c2
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/016-linux601.patch
@@ -0,0 +1,90 @@
+diff -Nurp -u -r a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
+--- a/src/wl/sys/wl_cfg80211_hybrid.c 2022-12-12 00:23:30.821615599 +0000
++++ b/src/wl/sys/wl_cfg80211_hybrid.c 2022-12-12 00:35:47.854975024 +0000
+@@ -105,14 +105,28 @@ static s32 wl_cfg80211_get_tx_power(stru
+ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm);
+ #endif
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
++static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy,
++ struct net_device *dev, int link_id, u8 key_idx, bool unicast,
++ bool multicast);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
+ static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy,
+ struct net_device *dev, u8 key_idx, bool unicast, bool multicast);
+ #else
+ static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy,
+ struct net_device *dev, u8 key_idx);
+ #endif
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
++static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
++ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr,
++ struct key_params *params);
++static s32 wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
++ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr);
++static s32 wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev,
++ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr,
++ void *cookie,
++ void (*callback) (void *cookie, struct key_params *params));
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+ static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
+ u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params);
+ static s32 wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
+@@ -1161,7 +1175,12 @@ static s32 wl_cfg80211_get_tx_power(stru
+ return err;
+ }
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
++static s32
++wl_cfg80211_config_default_key(struct wiphy *wiphy,
++ struct net_device *dev, int link_id, u8 key_idx, bool unicast,
++ bool multicast)
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
+ static s32
+ wl_cfg80211_config_default_key(struct wiphy *wiphy,
+ struct net_device *dev, u8 key_idx, bool unicast, bool multicast)
+@@ -1186,7 +1205,12 @@ wl_cfg80211_config_default_key(struct wi
+ return 0;
+ }
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
++static s32
++wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
++ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr,
++ struct key_params *params)
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+ static s32
+ wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
+ u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params)
+@@ -1307,7 +1331,11 @@ wl_cfg80211_add_key(struct wiphy *wiphy,
+ return err;
+ }
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
++static s32
++wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
++ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr)
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+ static s32
+ wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
+ u8 key_idx, bool pairwise, const u8 *mac_addr)
+@@ -1350,7 +1378,13 @@ wl_cfg80211_del_key(struct wiphy *wiphy,
+ return err;
+ }
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
++static s32
++wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev,
++ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr,
++ void *cookie,
++ void (*callback) (void *cookie, struct key_params * params))
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+ static s32
+ wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev,
+ u8 key_idx, bool pairwise, const u8 *mac_addr, void *cookie,
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-modules.conf b/net-wireless/broadcom-sta/files/broadcom-sta-modules.conf
new file mode 100644
index 000000000000..458947e335b4
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-modules.conf
@@ -0,0 +1,17 @@
+# modprobe.d configuration file for WL
+
+# Internal Aliases - Do not edit
+# ------------------------------
+alias wlan0 wl
+
+
+# Configurable module parameters
+# ------------------------------
+# passivemode: (int)
+# wl_txq_thresh: (int)
+# oneonly: (int)
+# piomode: (int)
+# instance_base: (int)
+# nompc: (int)
+# intf_name: (string)
+
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/
@ 2023-06-24 16:13 Mike Pagano
0 siblings, 0 replies; 10+ messages in thread
From: Mike Pagano @ 2023-06-24 16:13 UTC (permalink / raw
To: gentoo-commits
commit: b3538887b69d698359ce340805ab5c19e6e14bad
Author: Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 16:07:17 2023 +0000
Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 16:07:17 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3538887
net-wireless/broadcom-sta: Remove old and corresponding patches
Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>
.../broadcom-sta-6.30.223.271-r6.ebuild | 94 ---------
.../broadcom-sta-6.30.223.141-eth-to-wlan.patch | 12 --
.../files/broadcom-sta-6.30.223.141-gcc.patch | 11 --
.../files/broadcom-sta-6.30.223.141-makefile.patch | 14 --
...roadcom-sta-6.30.223.248-r3-Wno-date-time.patch | 11 --
.../broadcom-sta-6.30.223.271-r1-linux-3.18.patch | 12 --
...broadcom-sta-6.30.223.271-r2-linux-4.3-v2.patch | 16 --
.../broadcom-sta-6.30.223.271-r4-linux-4.11.patch | 52 -----
.../broadcom-sta-6.30.223.271-r4-linux-4.12.patch | 64 -------
.../broadcom-sta-6.30.223.271-r4-linux-4.15.patch | 63 ------
.../broadcom-sta-6.30.223.271-r4-linux-4.7.patch | 109 -----------
.../broadcom-sta-6.30.223.271-r4-linux-4.8.patch | 64 -------
.../broadcom-sta-6.30.223.271-r5-linux-5.1.patch | 29 ---
.../broadcom-sta-6.30.223.271-r5-linux-5.6.patch | 88 ---------
.../broadcom-sta-6.30.223.271-r6-linux-5.9.patch | 211 ---------------------
15 files changed, 850 deletions(-)
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r6.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r6.ebuild
deleted file mode 100644
index 118df993b314..000000000000
--- a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.271-r6.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-info linux-mod
-
-DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver"
-HOMEPAGE="https://www.broadcom.com/support/802.11"
-SRC_BASE="https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35"
-SRC_URI="x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz )
- amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )
- https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/README_${PV}.txt -> README-${P}.txt"
-S="${WORKDIR}"
-
-LICENSE="Broadcom"
-KEYWORDS="-* ~amd64 ~x86"
-
-RESTRICT="mirror"
-
-DEPEND="virtual/linux-sources"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.30.223.141-makefile.patch"
- "${FILESDIR}/${PN}-6.30.223.141-eth-to-wlan.patch"
- "${FILESDIR}/${PN}-6.30.223.141-gcc.patch"
- "${FILESDIR}/${PN}-6.30.223.248-r3-Wno-date-time.patch"
- "${FILESDIR}/${PN}-6.30.223.271-r1-linux-3.18.patch"
- "${FILESDIR}/${PN}-6.30.223.271-r2-linux-4.3-v2.patch"
- "${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.15.patch"
- "${FILESDIR}/${PN}-6.30.223.271-r5-linux-5.1.patch"
- "${FILESDIR}/${PN}-6.30.223.271-r5-linux-5.6.patch"
- "${FILESDIR}/${PN}-6.30.223.271-r6-linux-5.9.patch"
-)
-
-MODULE_NAMES="wl(net/wireless)"
-MODULESD_WL_ALIASES=("wlan0 wl")
-
-pkg_pretend() {
- ewarn
- ewarn "If you are stuck using this unmaintained driver (likely in a MacBook),"
- ewarn "you may be interested to know that a newer compatible wireless card"
- ewarn "is supported by the in-tree brcmfmac driver. It has a model number "
- ewarn "BCM943602CS and is for sale on the second hand market for less than "
- ewarn "20 USD."
- ewarn
- ewarn "See https://wikidevi.com/wiki/Broadcom_Wireless_Adapters and"
- ewarn " https://wikidevi.com/wiki/Broadcom_BCM943602CS"
- ewarn "for more information."
- ewarn
-}
-
-pkg_setup() {
- # bug #300570
- # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
- # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
- # b43 via udev rules. Moreover, previous fix broke binpkgs support.
- CONFIG_CHECK="~!B43 ~!BCMA ~!SSB ~!X86_INTEL_LPSS"
- CONFIG_CHECK2="~LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
- ERROR_B43="B43: If you insist on building this, you must blacklist it!"
- ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"
- ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
- ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
- ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
- ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
- ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
- ERROR_X86_INTEL_LPSS="X86_INTEL_LPSS: Please disable it. The module does not work with it enabled."
- if kernel_is ge 3 8 8; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"
- elif kernel_is ge 2 6 32; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
- elif kernel_is ge 2 6 31; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
- elif kernel_is ge 2 6 29; then
- CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
- else
- CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
- fi
-
- linux-mod_pkg_setup
-
- BUILD_PARAMS="-C ${KV_DIR} M=${S}"
- BUILD_TARGETS="wl.ko"
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc "${DISTDIR}/README-${P}.txt"
-}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-eth-to-wlan.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-eth-to-wlan.patch
deleted file mode 100644
index b23914a0b3d6..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-eth-to-wlan.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
---- a/src/wl/sys/wl_linux.c 2013-08-01 09:52:22.000000000 +0300
-+++ b/src/wl/sys/wl_linux.c 2013-09-27 09:20:11.495023471 +0300
-@@ -235,7 +235,7 @@
- #define to_str(s) #s
- #define quote_str(s) to_str(s)
-
--#define BRCM_WLAN_IFNAME eth%d
-+#define BRCM_WLAN_IFNAME wlan%d
-
- static char intf_name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);
-
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-gcc.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-gcc.patch
deleted file mode 100644
index b5d7e858d78f..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-gcc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -urN a/src/wl/sys/wl_iw.h b/src/wl/sys/wl_iw.h
---- a/src/wl/sys/wl_iw.h 2013-08-01 09:52:22.000000000 +0300
-+++ b/src/wl/sys/wl_iw.h 2013-09-27 09:36:07.808067913 +0300
-@@ -21,6 +21,7 @@
- #ifndef _wl_iw_h_
- #define _wl_iw_h_
-
-+#include <linux/semaphore.h>
- #include <linux/wireless.h>
-
- #include <typedefs.h>
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-makefile.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-makefile.patch
deleted file mode 100644
index d5b97fe87ebe..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.141-makefile.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/Makefile 2013-04-28 22:42:59.000000000 +0200
-+++ b/Makefile 2013-04-28 22:45:53.000000000 +0200
-@@ -128,9 +128,9 @@
-
- EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped
-
--KBASE ?= /lib/modules/`uname -r`
-+KBASE ?= /lib/modules/${KV_FULL}
- KBUILD_DIR ?= $(KBASE)/build
--MDEST_DIR ?= $(KBASE)/kernel/drivers/net/wireless
-+MDEST_DIR ?= ${D}$(KBASE)/kernel/drivers/net/wireless
-
- all:
- KBUILD_NOPEDANTIC=1 make -C $(KBUILD_DIR) M=`pwd`
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r3-Wno-date-time.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r3-Wno-date-time.patch
deleted file mode 100644
index f93e3f1d3a3f..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.248-r3-Wno-date-time.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile 2014-06-26 10:42:08.000000000 +0000
-+++ b/Makefile 2014-07-17 22:44:01.662297228 +0000
-@@ -126,6 +126,8 @@
- EXTRA_CFLAGS += -I$(src)/src/shared/bcmwifi/include
- #EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR
-
-+EXTRA_CFLAGS += -Wno-date-time
-+
- EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped
-
- KBASE ?= /lib/modules/`uname -r`
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r1-linux-3.18.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r1-linux-3.18.patch
deleted file mode 100644
index 9a0e7136c53b..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r1-linux-3.18.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/wl/sys/wl_linux.c 2014-06-26 12:42:08.000000000 +0200
-+++ b/src/wl/sys/wl_linux.c 2015-01-22 01:44:58.580453805 +0100
-@@ -2157,8 +2159,8 @@
- wlif = WL_DEV_IF(dev);
- wl = WL_INFO(dev);
-
-+ skb->prev = NULL;
- if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) {
-- skb->prev = NULL;
-
- TXQ_LOCK(wl);
-
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r2-linux-4.3-v2.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r2-linux-4.3-v2.patch
deleted file mode 100644
index 588f77ad16f2..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r2-linux-4.3-v2.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -ruN a/src/shared/linux_osl.c b/src/shared/linux_osl.c
---- a/src/shared/linux_osl.c 2015-11-26 12:16:23.343091098 -0800
-+++ b/src/shared/linux_osl.c 2015-11-26 12:17:08.657092739 -0800
-@@ -932,7 +932,11 @@
- uint cycles;
-
- #if defined(__i386__)
-- rdtscl(cycles);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
-+ cycles = (u32)rdtsc();
-+#else
-+ rdtscl(cycles);
-+#endif
- #else
- cycles = 0;
- #endif
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch
deleted file mode 100644
index a779f8c84cfd..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.11.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
-index a9671e2..da36405 100644
---- a/src/wl/sys/wl_cfg80211_hybrid.c
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c
-@@ -30,6 +30,9 @@
- #include <linux/kthread.h>
- #include <linux/netdevice.h>
- #include <linux/ieee80211.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+#include <linux/sched/signal.h>
-+#endif
- #include <net/cfg80211.h>
- #include <linux/nl80211.h>
- #include <net/rtnetlink.h>
-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
-@@ -117,6 +117,9 @@ int wl_found = 0;
-
- typedef struct priv_link {
- wl_if_t *wlif;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+ unsigned long last_rx;
-+#endif
- } priv_link_t;
-
- #define WL_DEV_IF(dev) ((wl_if_t*)((priv_link_t*)DEV_PRIV(dev))->wlif)
-@@ -2450,6 +2453,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
- {
- struct sk_buff *oskb = (struct sk_buff *)p;
- struct sk_buff *skb;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+ priv_link_t *priv_link;
-+#endif
- uchar *pdata;
- uint len;
-
-@@ -2916,7 +2922,13 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
- if (skb == NULL) return;
-
- skb->dev = wl->monitor_dev;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
-+ priv_link = MALLOC(wl->osh, sizeof(priv_link_t));
-+ priv_link = netdev_priv(skb->dev);
-+ priv_link->last_rx = jiffies;
-+#else
- skb->dev->last_rx = jiffies;
-+#endif
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
- skb_reset_mac_header(skb);
- #else
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.12.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.12.patch
deleted file mode 100644
index 94c6253f803e..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.12.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -ru work.orig/src/wl/sys/wl_cfg80211_hybrid.c work.patched/src/wl/sys/wl_cfg80211_hybrid.c
---- work.orig/src/wl/sys/wl_cfg80211_hybrid.c 2017-06-10 15:50:27.328823384 -0700
-+++ work.patched/src/wl/sys/wl_cfg80211_hybrid.c 2017-06-10 15:52:40.540809187 -0700
-@@ -52,8 +52,13 @@
- u32 wl_dbg_level = WL_DBG_ERR;
- #endif
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
-+static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
-+ enum nl80211_iftype type, struct vif_params *params);
-+#else
- static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
- enum nl80211_iftype type, u32 *flags, struct vif_params *params);
-+#endif
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
- static s32
- wl_cfg80211_scan(struct wiphy *wiphy,
-@@ -466,7 +471,11 @@
-
- static s32
- wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
-+ enum nl80211_iftype type,
-+#else
- enum nl80211_iftype type, u32 *flags,
-+#endif
- struct vif_params *params)
- {
- struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy);
-@@ -2361,12 +2370,26 @@
- const wl_event_msg_t *e, void *data)
- {
- struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
-+ struct cfg80211_roam_info roam_info = {};
-+#endif
- s32 err = 0;
-
- wl_get_assoc_ies(wl);
- memcpy(wl->profile->bssid, &e->addr, ETHER_ADDR_LEN);
- memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
- wl_update_bss_info(wl);
-+
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
-+ roam_info.channel = &wl->conf->channel,
-+ roam_info.bssid = (u8 *)&wl->bssid,
-+ roam_info.req_ie = conn_info->req_ie,
-+ roam_info.req_ie_len = conn_info->req_ie_len,
-+ roam_info.resp_ie = conn_info->resp_ie,
-+ roam_info.resp_ie_len = conn_info->resp_ie_len,
-+
-+ cfg80211_roamed(ndev, &roam_info, GFP_KERNEL);
-+#else
- cfg80211_roamed(ndev,
- #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
- &wl->conf->channel,
-@@ -2374,6 +2397,7 @@
- (u8 *)&wl->bssid,
- conn_info->req_ie, conn_info->req_ie_len,
- conn_info->resp_ie, conn_info->resp_ie_len, GFP_KERNEL);
-+#endif
- WL_DBG(("Report roaming result\n"));
-
- set_bit(WL_STATUS_CONNECTED, &wl->status);
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
deleted file mode 100644
index 91c4d89519c1..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.15.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-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
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.7.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.7.patch
deleted file mode 100644
index 566680a09140..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.7.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-Since Linux 4.7, the enum ieee80211_band is no longer used
-
-This shall cause no problem's since both enums ieee80211_band
-and nl80211_band were added in the same commit:
-https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c
-
-This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_*
-
-Reference:
-https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
-
---- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:57:36.159340297 -0500
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:58:18.442323435 -0500
-@@ -236,7 +236,7 @@
- #endif
-
- #define CHAN2G(_channel, _freq, _flags) { \
-- .band = IEEE80211_BAND_2GHZ, \
-+ .band = NL80211_BAND_2GHZ, \
- .center_freq = (_freq), \
- .hw_value = (_channel), \
- .flags = (_flags), \
-@@ -245,7 +245,7 @@
- }
-
- #define CHAN5G(_channel, _flags) { \
-- .band = IEEE80211_BAND_5GHZ, \
-+ .band = NL80211_BAND_5GHZ, \
- .center_freq = 5000 + (5 * (_channel)), \
- .hw_value = (_channel), \
- .flags = (_flags), \
-@@ -379,7 +379,7 @@
- };
-
- static struct ieee80211_supported_band __wl_band_2ghz = {
-- .band = IEEE80211_BAND_2GHZ,
-+ .band = NL80211_BAND_2GHZ,
- .channels = __wl_2ghz_channels,
- .n_channels = ARRAY_SIZE(__wl_2ghz_channels),
- .bitrates = wl_g_rates,
-@@ -387,7 +387,7 @@
- };
-
- static struct ieee80211_supported_band __wl_band_5ghz_a = {
-- .band = IEEE80211_BAND_5GHZ,
-+ .band = NL80211_BAND_5GHZ,
- .channels = __wl_5ghz_a_channels,
- .n_channels = ARRAY_SIZE(__wl_5ghz_a_channels),
- .bitrates = wl_a_rates,
-@@ -395,7 +395,7 @@
- };
-
- static struct ieee80211_supported_band __wl_band_5ghz_n = {
-- .band = IEEE80211_BAND_5GHZ,
-+ .band = NL80211_BAND_5GHZ,
- .channels = __wl_5ghz_n_channels,
- .n_channels = ARRAY_SIZE(__wl_5ghz_n_channels),
- .bitrates = wl_a_rates,
-@@ -1876,8 +1876,8 @@
- wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX;
- #endif
- wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
-- wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz;
-- wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a;
-+ wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz;
-+ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a;
- wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
- wdev->wiphy->cipher_suites = __wl_cipher_suites;
- wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites);
-@@ -2000,7 +2000,7 @@
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
- freq = ieee80211_channel_to_frequency(notif_bss_info->channel,
- (notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ?
-- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
-+ NL80211_BAND_2GHZ : NL80211_BAND_5GHZ);
- #else
- freq = ieee80211_channel_to_frequency(notif_bss_info->channel);
- #endif
-@@ -2116,7 +2116,7 @@
- return err;
- }
- chan = wf_chspec_ctlchan(chanspec);
-- band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
-+ band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
- freq = ieee80211_channel_to_frequency(chan, band);
- channel = ieee80211_get_channel(wiphy, freq);
- cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
-@@ -2250,10 +2250,10 @@
- join_params->params.chanspec_list[0] =
- ieee80211_frequency_to_channel(chan->center_freq);
-
-- if (chan->band == IEEE80211_BAND_2GHZ) {
-+ if (chan->band == NL80211_BAND_2GHZ) {
- chanspec |= WL_CHANSPEC_BAND_2G;
- }
-- else if (chan->band == IEEE80211_BAND_5GHZ) {
-+ else if (chan->band == NL80211_BAND_5GHZ) {
- chanspec |= WL_CHANSPEC_BAND_5G;
- }
- else {
-@@ -2885,7 +2885,7 @@
-
- if (phy == 'n' || phy == 'a' || phy == 'v') {
- wiphy = wl_to_wiphy(wl);
-- wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n;
-+ wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n;
- }
-
- return err;
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.8.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.8.patch
deleted file mode 100644
index 20e8a9ae49d2..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r4-linux-4.8.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From d3f93542326a06d920c6eb89b703384290d37b8b Mon Sep 17 00:00:00 2001
-From: Alberto Milone <alberto.milone@canonical.com>
-Date: Fri, 2 Sep 2016 17:35:34 +0200
-Subject: [PATCH 1/1] Add support for Linux 4.8
-
-Orginal author: Krzysztof Kolasa
----
- src/wl/sys/wl_cfg80211_hybrid.c | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
-index 2fc71fe..ec5e472 100644
---- a/src/wl/sys/wl_cfg80211_hybrid.c
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c
-@@ -2388,8 +2388,16 @@ wl_bss_connect_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
- s32 err = 0;
-
- if (wl->scan_request) {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+ struct cfg80211_scan_info info = {
-+ .aborted = true,
-+ };
-+ WL_DBG(("%s: Aborting scan\n", __FUNCTION__));
-+ cfg80211_scan_done(wl->scan_request, &info);
-+#else
- WL_DBG(("%s: Aborting scan\n", __FUNCTION__));
- cfg80211_scan_done(wl->scan_request, true);
-+#endif
- wl->scan_request = NULL;
- }
-
-@@ -2490,7 +2498,14 @@ wl_notify_scan_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
-
- scan_done_out:
- if (wl->scan_request) {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+ struct cfg80211_scan_info info = {
-+ .aborted = false,
-+ };
-+ cfg80211_scan_done(wl->scan_request, &info);
-+#else
- cfg80211_scan_done(wl->scan_request, false);
-+#endif
- wl->scan_request = NULL;
- }
- rtnl_unlock();
-@@ -2909,7 +2924,14 @@ s32 wl_cfg80211_down(struct net_device *ndev)
- s32 err = 0;
-
- if (wl->scan_request) {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+ struct cfg80211_scan_info info = {
-+ .aborted = true,
-+ };
-+ cfg80211_scan_done(wl->scan_request, &info);
-+#else
- cfg80211_scan_done(wl->scan_request, true);
-+#endif
- wl->scan_request = NULL;
- }
-
---
-2.7.4
-
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r5-linux-5.1.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r5-linux-5.1.patch
deleted file mode 100644
index fcee46ea3d02..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r5-linux-5.1.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 20bb1a6da26c496572ee63d310cdf69a2f1553f8 Mon Sep 17 00:00:00 2001
-From: Seth Forshee <seth.forshee@canonical.com>
-Date: Fri, 17 May 2019 20:32:20 +0000
-Subject: [PATCH] add support for linux 5.1
-
-get_ds() was removed and replaced universally with KERNEL_DS.
-Provide a version of get_ds() to do likewise for 5.1 and later.
-
-Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
----
- src/include/linuxver.h | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/include/linuxver.h b/src/include/linuxver.h
-index b05bc32..2b88b30 100644
---- a/src/include/linuxver.h
-+++ b/src/include/linuxver.h
-@@ -591,4 +591,9 @@ do { \
- #define netdev_priv(dev) dev->priv
- #endif
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0))
-+#include <linux/uaccess.h>
-+#define get_ds() (KERNEL_DS)
-+#endif
-+
- #endif
---
-2.20.1
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r5-linux-5.6.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r5-linux-5.6.patch
deleted file mode 100644
index 71264346f86e..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r5-linux-5.6.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From: Herman van Hazendonk <github.com@herrie.org>
-Date: Tue, 31 Mar 2020 17:09:55 +0200
-Subject: [PATCH] Add fixes for 5.6 kernel
-Origin: https://salsa.debian.org/Herrie82-guest/broadcom-sta/-/merge_requests/1
-
-Use ioremap instead of ioremap_nocache and proc_ops instead of
-file_operations on Linux kernel 5.6 and above.
-
-<rosh> Patch amended to adapt i386 arch.
----
- src/shared/linux_osl.c | 6 +++++-
- src/wl/sys/wl_linux.c | 21 ++++++++++++++++++++-
- 2 files changed, 25 insertions(+), 2 deletions(-)
-
-diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c
-index b24a973..9bce9b1 100644
---- a/src/shared/linux_osl.c
-+++ b/src/shared/linux_osl.c
-@@ -946,7 +946,11 @@ osl_getcycles(void)
- void *
- osl_reg_map(uint32 pa, uint size)
- {
-- return (ioremap_nocache((unsigned long)pa, (unsigned long)size));
-+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
-+ return (ioremap((unsigned long)pa, (unsigned long)size));
-+ #else
-+ return (ioremap_nocache((unsigned long)pa, (unsigned long)size));
-+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */
- }
-
- void
-diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
-index ab7b883..10621c2 100644
---- a/src/wl/sys/wl_linux.c
-+++ b/src/wl/sys/wl_linux.c
-@@ -590,10 +590,17 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
- }
- wl->bcm_bustype = bustype;
-
-+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
-+ if ((wl->regsva = ioremap(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
-+ WL_ERROR(("wl%d: ioremap() failed\n", unit));
-+ goto fail;
-+ }
-+ #else
- if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
- WL_ERROR(("wl%d: ioremap() failed\n", unit));
- goto fail;
- }
-+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */
-
- wl->bar1_addr = bar1_addr;
- wl->bar1_size = bar1_size;
-@@ -780,8 +787,13 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
- if ((val & 0x0000ff00) != 0)
- pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
- bar1_size = pci_resource_len(pdev, 2);
-+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
-+ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2),
-+ bar1_size);
-+ #else
- bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2),
- bar1_size);
-+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */
- wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev,
- pdev->irq, bar1_addr, bar1_size);
-
-@@ -3354,12 +3366,19 @@ wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t
- }
-
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
-+static const struct proc_ops wl_fops = {
-+ .proc_read = wl_proc_read,
-+ .proc_write = wl_proc_write,
-+};
-+#else
- static const struct file_operations wl_fops = {
- .owner = THIS_MODULE,
- .read = wl_proc_read,
- .write = wl_proc_write,
- };
--#endif
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) */
-
- static int
- wl_reg_proc_entry(wl_info_t *wl)
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r6-linux-5.9.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r6-linux-5.9.patch
deleted file mode 100644
index 6ef476464c0c..000000000000
--- a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.271-r6-linux-5.9.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-From f3d652840f8dd959395065a1cf67ca40b04ec69b Mon Sep 17 00:00:00 2001
-From: Joan Bruguera <joanbrugueram@gmail.com>
-Date: Tue, 13 Oct 2020 19:35:55 +0200
-Subject: [PATCH] Get rid of get_fs/set_fs calls in Broadcom WL driver.
-
-Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 5.10 (tested -rc1 up to 5.10.1)
-
-Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-23 on Arch Linux.
-
-NB: Some checks in wlc_ioctl_internal are likely superfluous,
- but I'm not familiar enough with the driver to remove them with confidence.
-
-See also: https://lwn.net/Articles/722267/
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=47058bb54b57962b3958a936ddbc59355e4c5504
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e6e9852d6f76e01b2e6803c74258afa5b432bc5
-
-Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
----
- src/wl/sys/wl_cfg80211_hybrid.c | 25 ++-------------------
- src/wl/sys/wl_iw.c | 25 ++-------------------
- src/wl/sys/wl_linux.c | 40 ++++++++++++++++++++++++++++-----
- src/wl/sys/wl_linux.h | 2 ++
- src/wl/sys/wlc_pub.h | 1 +
- 5 files changed, 42 insertions(+), 51 deletions(-)
-
-diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
-index 7b606e0..1e0adb7 100644
---- a/src/wl/sys/wl_cfg80211_hybrid.c
-+++ b/src/wl/sys/wl_cfg80211_hybrid.c
-@@ -38,6 +38,7 @@
- #include <wlioctl.h>
- #include <proto/802.11.h>
- #include <wl_cfg80211_hybrid.h>
-+#include <wl_linux.h>
-
- #define EVENT_TYPE(e) dtoh32((e)->event_type)
- #define EVENT_FLAGS(e) dtoh16((e)->flags)
-@@ -435,30 +436,7 @@ static void key_endian_to_host(struct wl_wsec_key *key)
- static s32
- wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len)
- {
-- struct ifreq ifr;
-- struct wl_ioctl ioc;
-- mm_segment_t fs;
-- s32 err = 0;
--
-- BUG_ON(len < sizeof(int));
--
-- memset(&ioc, 0, sizeof(ioc));
-- ioc.cmd = cmd;
-- ioc.buf = arg;
-- ioc.len = len;
-- strcpy(ifr.ifr_name, dev->name);
-- ifr.ifr_data = (caddr_t)&ioc;
--
-- fs = get_fs();
-- set_fs(get_ds());
--#if defined(WL_USE_NETDEV_OPS)
-- err = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
--#else
-- err = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
--#endif
-- set_fs(fs);
--
-- return err;
-+ return wlc_ioctl_internal(dev, cmd, arg, len);
- }
-
- static s32
-diff --git a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c
-index c4c610b..e346b15 100644
---- a/src/wl/sys/wl_iw.c
-+++ b/src/wl/sys/wl_iw.c
-@@ -37,6 +37,7 @@ typedef const struct si_pub si_t;
-
- #include <wl_dbg.h>
- #include <wl_iw.h>
-+#include <wl_linux.h>
-
- extern bool wl_iw_conn_status_str(uint32 event_type, uint32 status,
- uint32 reason, char* stringBuf, uint buflen);
-@@ -103,29 +104,7 @@ dev_wlc_ioctl(
- int len
- )
- {
-- struct ifreq ifr;
-- wl_ioctl_t ioc;
-- mm_segment_t fs;
-- int ret;
--
-- memset(&ioc, 0, sizeof(ioc));
-- ioc.cmd = cmd;
-- ioc.buf = arg;
-- ioc.len = len;
--
-- strcpy(ifr.ifr_name, dev->name);
-- ifr.ifr_data = (caddr_t) &ioc;
--
-- fs = get_fs();
-- set_fs(get_ds());
--#if defined(WL_USE_NETDEV_OPS)
-- ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
--#else
-- ret = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
--#endif
-- set_fs(fs);
--
-- return ret;
-+ return wlc_ioctl_internal(dev, cmd, arg, len);
- }
-
- static int
-diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
-index 947cef3..f04c148 100644
---- a/src/wl/sys/wl_linux.c
-+++ b/src/wl/sys/wl_linux.c
-@@ -1643,10 +1643,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
- goto done2;
- }
-
-- if (segment_eq(get_fs(), KERNEL_DS))
-- buf = ioc.buf;
--
-- else if (ioc.buf) {
-+ if (ioc.buf) {
- if (!(buf = (void *) MALLOC(wl->osh, MAX(ioc.len, WLC_IOCTL_MAXLEN)))) {
- bcmerror = BCME_NORESOURCE;
- goto done2;
-@@ -1667,7 +1664,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
- WL_UNLOCK(wl);
-
- done1:
-- if (ioc.buf && (ioc.buf != buf)) {
-+ if (ioc.buf) {
- if (copy_to_user(ioc.buf, buf, ioc.len))
- bcmerror = BCME_BADADDR;
- MFREE(wl->osh, buf, MAX(ioc.len, WLC_IOCTL_MAXLEN));
-@@ -1680,6 +1677,39 @@ done2:
- return (OSL_ERROR(bcmerror));
- }
-
-+int
-+wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len)
-+{
-+ wl_info_t *wl;
-+ wl_if_t *wlif;
-+ int bcmerror;
-+
-+ if (!dev)
-+ return -ENETDOWN;
-+
-+ wl = WL_INFO(dev);
-+ wlif = WL_DEV_IF(dev);
-+ if (wlif == NULL || wl == NULL || wl->dev == NULL)
-+ return -ENETDOWN;
-+
-+ bcmerror = 0;
-+
-+ WL_TRACE(("wl%d: wlc_ioctl_internal: cmd 0x%x\n", wl->pub->unit, cmd));
-+
-+ WL_LOCK(wl);
-+ if (!capable(CAP_NET_ADMIN)) {
-+ bcmerror = BCME_EPERM;
-+ } else {
-+ bcmerror = wlc_ioctl(wl->wlc, cmd, buf, len, wlif->wlcif);
-+ }
-+ WL_UNLOCK(wl);
-+
-+ ASSERT(VALID_BCMERROR(bcmerror));
-+ if (bcmerror != 0)
-+ wl->pub->bcmerror = bcmerror;
-+ return (OSL_ERROR(bcmerror));
-+}
-+
- static struct net_device_stats*
- wl_get_stats(struct net_device *dev)
- {
-diff --git a/src/wl/sys/wl_linux.h b/src/wl/sys/wl_linux.h
-index 5b1048e..c8c1f41 100644
---- a/src/wl/sys/wl_linux.h
-+++ b/src/wl/sys/wl_linux.h
-@@ -22,6 +22,7 @@
- #define _wl_linux_h_
-
- #include <wlc_types.h>
-+#include <wlc_pub.h>
-
- typedef struct wl_timer {
- struct timer_list timer;
-@@ -187,6 +188,7 @@ extern irqreturn_t wl_isr(int irq, void *dev_id, struct pt_regs *ptregs);
- extern int __devinit wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
- extern void wl_free(wl_info_t *wl);
- extern int wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
-+extern int wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len);
- extern struct net_device * wl_netdev_get(wl_info_t *wl);
-
- #endif
-diff --git a/src/wl/sys/wlc_pub.h b/src/wl/sys/wlc_pub.h
-index 53a98b8..2b5a029 100644
---- a/src/wl/sys/wlc_pub.h
-+++ b/src/wl/sys/wlc_pub.h
-@@ -24,6 +24,7 @@
-
- #include <wlc_types.h>
- #include <wlc_utils.h>
-+#include <siutils.h>
- #include "proto/802.11.h"
- #include "proto/bcmevent.h"
-
---
-2.28.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-06-24 16:13 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-10 23:20 [gentoo-commits] repo/gentoo:master commit in: net-wireless/broadcom-sta/files/, net-wireless/broadcom-sta/ Matt Turner
-- strict thread matches above, loose matches on Subject: below --
2023-06-24 16:13 Mike Pagano
2023-06-24 16:13 Mike Pagano
2017-06-10 23:20 Matt Turner
2016-12-09 19:39 Matt Turner
2016-11-21 4:18 Matt Turner
2016-08-20 22:01 Luca Barbato
2016-02-09 20:26 Matt Turner
2016-02-09 20:26 Matt Turner
2015-11-25 19:24 Patrice Clement
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox