diff options
author | Matsuu Takuto <matsuu@gentoo.org> | 2010-06-05 00:42:33 +0000 |
---|---|---|
committer | Matsuu Takuto <matsuu@gentoo.org> | 2010-06-05 00:42:33 +0000 |
commit | f614f4af6370182cd7c9a835e2e8f4492f1c785f (patch) | |
tree | c7a94ea74018625fe07b25e18e3431a32ac34103 /net-wireless | |
parent | Version bump (diff) | |
download | gentoo-2-f614f4af6370182cd7c9a835e2e8f4492f1c785f.tar.gz gentoo-2-f614f4af6370182cd7c9a835e2e8f4492f1c785f.tar.bz2 gentoo-2-f614f4af6370182cd7c9a835e2e8f4492f1c785f.zip |
Fixed to work with 2.6.35, bug #248450. Removed unneeded patch, bug #304797.
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'net-wireless')
3 files changed, 118 insertions, 1 deletions
diff --git a/net-wireless/broadcom-sta/ChangeLog b/net-wireless/broadcom-sta/ChangeLog index 5019e1cf5288..e96c0d5d83cb 100644 --- a/net-wireless/broadcom-sta/ChangeLog +++ b/net-wireless/broadcom-sta/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-wireless/broadcom-sta # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.22 2010/04/21 05:15:26 beandog Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.23 2010/06/05 00:42:33 matsuu Exp $ + +*broadcom-sta-5.60.48.36-r1 (05 Jun 2010) + + 05 Jun 2010; MATSUU Takuto <matsuu@gentoo.org> + +broadcom-sta-5.60.48.36-r1.ebuild, + +files/broadcom-sta-5.60.48.36-linux-2.6.35.patch: + Fixed to work with 2.6.35, bug #248450. Removed unneeded patch, bug + #304797. 21 Apr 2010; Steve Dibb <beandog@gentoo.org> -broadcom-sta-5.10.91.9.3-r1.ebuild, -broadcom-sta-5.10.91.9.3-r2.ebuild, diff --git a/net-wireless/broadcom-sta/broadcom-sta-5.60.48.36-r1.ebuild b/net-wireless/broadcom-sta/broadcom-sta-5.60.48.36-r1.ebuild new file mode 100644 index 000000000000..083489a9a3be --- /dev/null +++ b/net-wireless/broadcom-sta/broadcom-sta-5.60.48.36-r1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-5.60.48.36-r1.ebuild,v 1.1 2010/06/05 00:42:33 matsuu Exp $ + +EAPI="2" +inherit eutils 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-portsrc-x86_" +SRC_URI="x86? ( ${SRC_BASE}32-v${PV}.tar.gz ) + amd64? ( ${SRC_BASE}64-v${PV}.tar.gz )" + +LICENSE="Broadcom" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RESTRICT="mirror" + +DEPEND=">=virtual/linux-sources-2.6.22" +RDEPEND="" + +S="${WORKDIR}" + +MODULE_NAMES="wl(net/wireless)" +MODULESD_WL_ALIASES=("wlan0 wl") + +PROPERTIES="interactive" + +pkg_setup() { + check_license + + # 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" + if kernel_is ge 2 6 33; then + CONFIG_CHECK="${CONFIG_CHECK} LIB80211 WIRELESS_EXT CFG80211_WEXT WEXT_PRIV ~!MAC80211" + ERROR_WEXT_PRIV="Starting with 2.6.33, it is not possible to set WEXT_PRIV directly. We recommend to set another symbol selecting WEXT_PRIV, for example, PRISM54, IPW2200 and so on. See Bug #248450 comment#98." + elif kernel_is ge 2 6 31; then + CONFIG_CHECK="${CONFIG_CHECK} LIB80211 WIRELESS_EXT ~!MAC80211" + elif kernel_is ge 2 6 29; then + CONFIG_CHECK="${CONFIG_CHECK} LIB80211 WIRELESS_EXT ~!MAC80211 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}-5.10.91.9-license.patch" \ + "${FILESDIR}/${PN}-5.10.91.9.3-linux-2.6.33.patch" \ + "${FILESDIR}/${P}-linux-2.6.35.patch" +} diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch new file mode 100644 index 000000000000..a31ba97e7255 --- /dev/null +++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.60.48.36-linux-2.6.35.patch @@ -0,0 +1,51 @@ +diff -Naur broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_iw.h broadcom-sta-5.60.48.36/src/wl/sys/wl_iw.h +--- broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_iw.h 2010-02-06 10:59:15.000000000 +0900 ++++ broadcom-sta-5.60.48.36/src/wl/sys/wl_iw.h 2010-06-05 09:32:46.000000000 +0900 +@@ -15,6 +15,7 @@ + #ifndef _wl_iw_h_ + #define _wl_iw_h_ + ++#include <linux/semaphore.h> + #include <linux/wireless.h> + + #include <typedefs.h> +diff -Naur broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_linux.c broadcom-sta-5.60.48.36/src/wl/sys/wl_linux.c +--- broadcom-sta-5.60.48.36.orig/src/wl/sys/wl_linux.c 2010-02-06 10:59:15.000000000 +0900 ++++ broadcom-sta-5.60.48.36/src/wl/sys/wl_linux.c 2010-06-04 08:25:22.000000000 +0900 +@@ -1416,8 +1416,13 @@ + _wl_set_multicast_list(struct net_device *dev) + { + wl_info_t *wl; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35) ++ struct netdev_hw_addr *ha; ++ int i=0; ++#else + struct dev_mc_list *mclist; + int i; ++#endif + + if (!dev) + return; +@@ -1430,14 +1435,22 @@ + if (wl->pub->up) { + wl->pub->allmulti = (dev->flags & IFF_ALLMULTI)? TRUE: FALSE; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35) ++ netdev_for_each_mc_addr(ha, dev) { ++#else + for (i = 0, mclist = dev->mc_list; mclist && (i < dev->mc_count); + i++, mclist = mclist->next) { ++#endif + if (i >= MAXMULTILIST) { + wl->pub->allmulti = TRUE; + i = 0; + break; + } ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35) ++ wl->pub->multicast[i] = *((struct ether_addr*) ha->addr); ++#else + wl->pub->multicast[i] = *((struct ether_addr*) mclist->dmi_addr); ++#endif + } + wl->pub->nmulticast = i; + wlc_set(wl->wlc, WLC_SET_PROMISC, (dev->flags & IFF_PROMISC)); |