summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatsuu Takuto <matsuu@gentoo.org>2009-07-14 15:27:59 +0000
committerMatsuu Takuto <matsuu@gentoo.org>2009-07-14 15:27:59 +0000
commit76dc5416ababd60bd36be3bf42f0a0d9a78c6ee9 (patch)
tree0be820cad11365c726f88cb14a10c76a962265d4
parentVersion bump, thank Vadim Efimov for report. Added a note about patch depende... (diff)
downloadgentoo-2-76dc5416ababd60bd36be3bf42f0a0d9a78c6ee9.tar.gz
gentoo-2-76dc5416ababd60bd36be3bf42f0a0d9a78c6ee9.tar.bz2
gentoo-2-76dc5416ababd60bd36be3bf42f0a0d9a78c6ee9.zip
Added COMPAT_NET_DEV_OPS to CONFIG_CHECK, bug #276057. Added patch for 2.6.31, bug #277552.
(Portage version: 2.1.6.13/cvs/Linux x86_64)
-rw-r--r--net-wireless/broadcom-sta/ChangeLog10
-rw-r--r--net-wireless/broadcom-sta/broadcom-sta-5.10.91.9-r3.ebuild51
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-linux-2.6.31.patch50
3 files changed, 110 insertions, 1 deletions
diff --git a/net-wireless/broadcom-sta/ChangeLog b/net-wireless/broadcom-sta/ChangeLog
index 92239f6c65b4..4f0d1b08a8aa 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-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.8 2009/07/01 22:51:51 matsuu Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.9 2009/07/14 15:27:59 matsuu Exp $
+
+*broadcom-sta-5.10.91.9-r3 (14 Jul 2009)
+
+ 14 Jul 2009; MATSUU Takuto <matsuu@gentoo.org>
+ +broadcom-sta-5.10.91.9-r3.ebuild,
+ +files/broadcom-sta-5.10.91.9-linux-2.6.31.patch:
+ Added COMPAT_NET_DEV_OPS to CONFIG_CHECK, bug #276057. Added patch for
+ 2.6.31, bug #277552.
*broadcom-sta-5.10.91.9-r2 (01 Jul 2009)
diff --git a/net-wireless/broadcom-sta/broadcom-sta-5.10.91.9-r3.ebuild b/net-wireless/broadcom-sta/broadcom-sta-5.10.91.9-r3.ebuild
new file mode 100644
index 000000000000..036fdcc62fae
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-5.10.91.9-r3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2009 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.10.91.9-r3.ebuild,v 1.1 2009/07/14 15:27:59 matsuu Exp $
+
+inherit eutils linux-mod versionator
+
+MY_PV="$(replace_all_version_separators _)"
+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${MY_PV}.tar.gz )
+ amd64? ( ${SRC_BASE}64-v${MY_PV}.tar.gz )
+ http://www.broadcom.com/docs/linux_sta/${MY_PV}_patch_2_6_29_kernel.zip"
+
+LICENSE="Broadcom"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RESTRICT="mirror"
+
+DEPEND=">=virtual/linux-sources-2.6.22"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+pkg_setup() {
+ check_license
+
+ # bug #276057
+ if kernel_is ge 2 6 29; then
+ CONFIG_CHECK="LIB80211 COMPAT_NET_DEV_OPS"
+ else
+ CONFIG_CHECK="IEEE80211 IEEE80211_CRYPT_TKIP"
+ fi
+ linux-mod_pkg_setup
+ BUILD_PARAMS="-C ${KV_DIR} M=${S}"
+ BUILD_TARGETS="wl.ko"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch \
+ "${FILESDIR}/${PN}-5.10.79.10-hidden-essid.patch" \
+ "${WORKDIR}/patch_2.6.29_kernels" \
+ "${FILESDIR}/${P}-license.patch" \
+ "${FILESDIR}/${P}-linux-2.6.31.patch"
+}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-linux-2.6.31.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-linux-2.6.31.patch
new file mode 100644
index 000000000000..ac31fbde3ec3
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-linux-2.6.31.patch
@@ -0,0 +1,50 @@
+--- src/wl/sys/wl_linux.c.orig.1 2009-07-12 13:28:30.000000000 -0700
++++ src/wl/sys/wl_linux.c 2009-07-12 15:46:52.000000000 -0700
+@@ -222,9 +222,23 @@
+ };
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)
++static const struct net_device_ops wl_net_device_ops =
++{
++ .ndo_open = wl_open,
++ .ndo_stop = wl_close,
++ .ndo_start_xmit = wl_start,
++ .ndo_get_stats = wl_get_stats,
++ .ndo_set_mac_address = wl_set_mac_address,
++ .ndo_set_multicast_list = wl_set_multicast_list,
++ .ndo_do_ioctl = wl_ioctl,
++};
++#endif
++
+ static
+ void wl_if_setup(struct net_device *dev)
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
+ dev->open = wl_open;
+ dev->stop = wl_close;
+ dev->hard_start_xmit = wl_start;
+@@ -232,6 +246,9 @@
+ dev->set_mac_address = wl_set_mac_address;
+ dev->set_multicast_list = wl_set_multicast_list;
+ dev->do_ioctl = wl_ioctl;
++#else
++ dev->netdev_ops = &wl_net_device_ops;
++#endif
+ #ifdef CONFIG_WIRELESS_EXT
+ #if WIRELESS_EXT < 19
+ dev->get_wireless_stats = wl_get_wireless_stats;
+--- src/wl/sys/wl_iw.c.orig.1 2009-07-12 13:40:51.000000000 -0700
++++ src/wl/sys/wl_iw.c 2009-07-12 15:46:39.000000000 -0700
+@@ -124,7 +124,11 @@
+
+ fs = get_fs();
+ set_fs(get_ds());
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
+ ret = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
++#else
++ ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
++#endif
+ set_fs(fs);
+
+ return ret;