diff options
author | MATSUU Takuto <matsuu@gentoo.org> | 2009-01-23 08:50:04 +0900 |
---|---|---|
committer | MATSUU Takuto <matsuu@gentoo.org> | 2009-01-23 08:50:04 +0900 |
commit | e4c9aff3a1b38d1989c5d426ad726a2162759b39 (patch) | |
tree | 39ebce9da593a19b217a68baeff10716bac2851c /net-wireless | |
parent | kernel-2.6.29 support (diff) | |
download | matsuu-e4c9aff3a1b38d1989c5d426ad726a2162759b39.tar.gz matsuu-e4c9aff3a1b38d1989c5d426ad726a2162759b39.tar.bz2 matsuu-e4c9aff3a1b38d1989c5d426ad726a2162759b39.zip |
net-wireless/broadcom-sta: version bumped.
Diffstat (limited to 'net-wireless')
3 files changed, 208 insertions, 0 deletions
diff --git a/net-wireless/broadcom-sta/Manifest b/net-wireless/broadcom-sta/Manifest index b2d201a..84d940a 100644 --- a/net-wireless/broadcom-sta/Manifest +++ b/net-wireless/broadcom-sta/Manifest @@ -1,5 +1,9 @@ AUX broadcom-sta-5.10.27.12-kernel-2.6.29.patch 4539 RMD160 33cec966cd314181a7daa5d41818f62c4d20104f SHA1 253b39e14e7d80041c8ec82e5b5a71a691a2f5ff SHA256 800a2ad4b08f754f7764d23a568e3496a0b4150944c21e770e8205db1c883e86 +AUX broadcom-sta-5.10.27.14-kernel-2.6.29.patch 4398 RMD160 99e2b0307268ace12984649eba8dddeba0955b0c SHA1 baad8c813a67806f3d32ba959ed0dcd1a5c5abb3 SHA256 0aa45ad9777ff2e20d01807c1b14c34f152cd576e4ccdaf7648cf57cadfd3c12 DIST hybrid-portsrc-x86-32_5_10_27_12.tar.gz 525867 RMD160 fe5b60818be173019a07bdc0208c2403e1c658bf SHA1 52dafa60846516681e03a55a9e246c087448b294 SHA256 4522abacd1567bd90af259f7a939ea50c19d3108ae18d73c486df70c8eb437d2 DIST hybrid-portsrc-x86-64_5_10_27_12.tar.gz 524517 RMD160 e65c7bb1dc8496caab256bedc2d3958f9f0cfabc SHA1 50164e0c81ac7cfb298edf1c844f122f098f8411 SHA256 61202f60f102796fe7df37fb6dbe3d5a9b1e9d5204b763b9d47c95e19763a1ad +DIST hybrid-portsrc-x86_32-v5_10_27_14.tar.gz 524816 RMD160 5f5aadbc417027cc97e6ad1999fd284a881c395c SHA1 96518ad3cc075bcc08c7574fcb0ac5ae8564f8be SHA256 56729847411618a0ab9af6c5024e031ccfe2b86137c90d465f792fcb26a572e4 +DIST hybrid-portsrc-x86_64-v5_10_27_14.tar.gz 523323 RMD160 9abd9cbd0cfa9de399b979442bd8f86a5d861077 SHA1 d31976a2c754e166c1e91fceb9984aeb306e1e2e SHA256 b617b44c6a9e093be30be503092fad3a3b18b4161da5edabf6853e16d9a8b7d4 EBUILD broadcom-sta-5.10.27.12-r1.ebuild 1117 RMD160 388cfa39bbc98dbe6c927097f824fd3fe881dce8 SHA1 76cf9d179acad8da4d7ac3d9850ee1f0524b382e SHA256 ddd17ac0d228320419ebf48956c63c77fcbb570adaa1dc1e47416352ab8b5863 EBUILD broadcom-sta-5.10.27.12.ebuild 902 RMD160 dbfcb8a0d8fcd150bb01c570880776cbe63b4d26 SHA1 4d8ebb2ee0d04720019b6f881ebc83597cfbdc13 SHA256 6c5fb767d51d55f40d798b796143ef14200754be5af62cda17b42aa73fc32d19 +EBUILD broadcom-sta-5.10.27.14.ebuild 1119 RMD160 9c718a880a822afd96c9dc0109b74e4a9b472ec2 SHA1 bbf2e900d059485a1414f64ab1d42d82808324c0 SHA256 82e5e930b003fbf7bfdb1b44577885ba6c234a619f9ee460ca65b0a25c6f5ee6 diff --git a/net-wireless/broadcom-sta/broadcom-sta-5.10.27.14.ebuild b/net-wireless/broadcom-sta/broadcom-sta-5.10.27.14.ebuild new file mode 100644 index 0000000..6778299 --- /dev/null +++ b/net-wireless/broadcom-sta/broadcom-sta-5.10.27.14.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/iwlwifi/iwlwifi-1.2.23.ebuild,v 1.1 2008/01/22 05:08:58 compnerd Exp $ + +inherit eutils linux-mod + +MY_PV="${PV//./_}" +DESCRIPTION="Broadcom 802.11 Linux STA driver" +HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php" +SRC_URI="x86? ( http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v${MY_PV}.tar.gz ) + amd64? ( http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v${MY_PV}.tar.gz )" + +LICENSE="Broadcom" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=">=virtual/linux-sources-2.6.22" + +S="${WORKDIR}" + +pkg_setup() { + MODULE_NAMES="wl(net:${S}:${S})" + get_version + if [ ${KV_MAJOR} -ge 2 -a ${KV_MINOR} -ge 6 -a ${KV_PATCH} -ge 29 ] ; then + CONFIG_CHECK="LIB80211" + else + CONFIG_CHECK="IEEE80211" + fi + linux-mod_pkg_setup + if use_m; then + BUILD_PARAMS="-C ${KV_DIR} M=${S}" + BUILD_TARGETS=" " + else + die "please use a kernel >=2.6.6" + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${P}-kernel-2.6.29.patch" +} diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.27.14-kernel-2.6.29.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.27.14-kernel-2.6.29.patch new file mode 100644 index 0000000..7f6ab5c --- /dev/null +++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.27.14-kernel-2.6.29.patch @@ -0,0 +1,161 @@ +diff -Naur broadcom-wl.old/src/wl/sys/wl_iw.c broadcom-wl/src/wl/sys/wl_iw.c +--- broadcom-wl.old/src/wl/sys/wl_iw.c 2008-12-18 05:55:58.000000000 +0900 ++++ broadcom-wl/src/wl/sys/wl_iw.c 2009-01-23 02:02:09.000000000 +0900 +@@ -62,6 +62,12 @@ + extern struct iw_statistics *wl_get_wireless_stats(struct net_device *dev); + #endif + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#define WL_DEV_IF(dev) ((wl_iw_t*)(dev)->ml_priv) ++#elif ++#define WL_DEV_IF(dev) ((wl_iw_t*)(dev)->priv) ++#endif ++ + #if WIRELESS_EXT < 19 + #define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST) + #define IW_EVENT_IDX(cmd) ((cmd) - IWEVFIRST) +@@ -610,7 +616,7 @@ + char *extra + ) + { +- wl_iw_t *iw = dev->priv; ++ wl_iw_t *iw = WL_DEV_IF(dev); + struct sockaddr *addr = (struct sockaddr *) extra; + int i; + +@@ -635,7 +641,7 @@ + char *extra + ) + { +- wl_iw_t *iw = dev->priv; ++ wl_iw_t *iw = WL_DEV_IF(dev); + struct sockaddr *addr = (struct sockaddr *) extra; + struct iw_quality *qual = (struct iw_quality *) &addr[iw->spy_num]; + int i; +@@ -1111,7 +1117,7 @@ + char *extra + ) + { +- wl_iw_t *iw = dev->priv; ++ wl_iw_t *iw = WL_DEV_IF(dev); + + WL_TRACE(("%s: SIOCSIWNICKN\n", dev->name)); + +@@ -1135,7 +1141,7 @@ + char *extra + ) + { +- wl_iw_t *iw = dev->priv; ++ wl_iw_t *iw = WL_DEV_IF(dev); + + WL_TRACE(("%s: SIOCGIWNICKN\n", dev->name)); + +@@ -1795,7 +1801,7 @@ + int paramid; + int paramval; + int val = 0; +- wl_iw_t *iw = dev->priv; ++ wl_iw_t *iw = WL_DEV_IF(dev); + + WL_TRACE(("%s: SIOCSIWAUTH\n", dev->name)); + +@@ -1926,7 +1932,7 @@ + int paramid; + int paramval = 0; + int val; +- wl_iw_t *iw = dev->priv; ++ wl_iw_t *iw = WL_DEV_IF(dev); + + WL_TRACE(("%s: SIOCGIWAUTH\n", dev->name)); + +diff -Naur broadcom-wl.old/src/wl/sys/wl_linux.c broadcom-wl/src/wl/sys/wl_linux.c +--- broadcom-wl.old/src/wl/sys/wl_linux.c 2008-12-18 05:56:13.000000000 +0900 ++++ broadcom-wl/src/wl/sys/wl_linux.c 2009-01-23 02:03:36.000000000 +0900 +@@ -53,7 +53,9 @@ + #include <linux/pci_ids.h> + #define WLC_MAXBSSCFG 1 + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#include <net/lib80211.h> ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) + #include <net/ieee80211.h> + #endif + +@@ -148,7 +150,11 @@ + struct net_device *monitor; + bool resched; + uint32 pci_psstate[16]; +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ struct lib80211_crypto_ops *tkipmodops; ++ struct lib80211_tkip_data *tkip_ucast_data; ++ struct lib80211_tkip_data *tkip_bcast_data; ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) + struct ieee80211_crypto_ops *tkipmodops; + struct ieee80211_tkip_data *tkip_ucast_data; + struct ieee80211_tkip_data *tkip_bcast_data; +@@ -159,7 +165,11 @@ + static void wl_timer(ulong data); + static void _wl_timer(wl_timer_t *t); + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++struct lib80211_tkip_data { ++#else + struct ieee80211_tkip_data { ++#endif + #define TKIP_KEY_LEN 32 + u8 key[TKIP_KEY_LEN]; + int key_set; +@@ -190,7 +200,11 @@ + + static int wl_found = 0; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#define WL_DEV_IF(dev) ((wl_if_t*)(dev)->ml_priv) ++#else + #define WL_DEV_IF(dev) ((wl_if_t*)(dev)->priv) ++#endif + #define WL_INFO(dev) ((wl_info_t*)(WL_DEV_IF(dev)->wl)) + + #define WL_LOCK(wl) spin_lock_bh(&(wl)->lock) +@@ -421,7 +435,14 @@ + } + wlif->dev_registed = TRUE; + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ ++ wl->tkipmodops = lib80211_get_crypto_ops("TKIP"); ++ if (wl->tkipmodops == NULL) { ++ request_module("lib80211_crypt_tkip"); ++ wl->tkipmodops = lib80211_get_crypto_ops("TKIP"); ++ } ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) + + wl->tkipmodops = ieee80211_get_crypto_ops("TKIP"); + if (wl->tkipmodops == NULL) { +@@ -725,7 +746,11 @@ + } + + if (wl->monitor) { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_free_if(wl, (wl_if_t *)(wl->monitor->ml_priv)); ++#else + wl_free_if(wl, (wl_if_t *)(wl->monitor->priv)); ++#endif + wl->monitor = NULL; + } + +@@ -908,7 +933,11 @@ + wlif->wl = wl; + wlif->wlcif = wlcif; + wlif->subunit = subunit; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ dev->ml_priv = wlif; ++#else + dev->priv = wlif; ++#endif + + if (iftype != WL_IFTYPE_MON && wl->dev && netif_queue_stopped(wl->dev)) + netif_stop_queue(dev); |