Author: cnolan
Update of /cvs/nonfree/rpms/wl-kmod/F-10
In directory se02.es.rpmfusion.net:/tmp/cvs-serv13086
Modified Files:
wl-kmod.spec
Added Files:
broadcom-wl-5.10.27.14-linux-2.6.29.patch
Log Message:
* Mon Feb 23 2009 Chris Nolan <chris(a)cenolan.com> - 5.10.27.14-2
- added patch for building against 2.6.29 kernel
broadcom-wl-5.10.27.14-linux-2.6.29.patch:
--- NEW FILE broadcom-wl-5.10.27.14-linux-2.6.29.patch ---
diff -u -r a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c
--- a/src/wl/sys/wl_iw.c 2009-01-19 23:02:56.000000000 +0100
+++ b/src/wl/sys/wl_iw.c 2009-01-24 12:33:59.810703840 +0100
@@ -610,7 +610,11 @@
char *extra
)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ wl_iw_t *iw = netdev_priv(dev);
+#else
wl_iw_t *iw = dev->priv;
+#endif
struct sockaddr *addr = (struct sockaddr *) extra;
int i;
@@ -635,7 +639,11 @@
char *extra
)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ wl_iw_t *iw = netdev_priv(dev);
+#else
wl_iw_t *iw = dev->priv;
+#endif
struct sockaddr *addr = (struct sockaddr *) extra;
struct iw_quality *qual = (struct iw_quality *) &addr[iw->spy_num];
int i;
@@ -1111,7 +1119,11 @@
char *extra
)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ wl_iw_t *iw = netdev_priv(dev);
+#else
wl_iw_t *iw = dev->priv;
+#endif
WL_TRACE(("%s: SIOCSIWNICKN\n", dev->name));
@@ -1135,7 +1147,11 @@
char *extra
)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ wl_iw_t *iw = netdev_priv(dev);
+#else
wl_iw_t *iw = dev->priv;
+#endif
WL_TRACE(("%s: SIOCGIWNICKN\n", dev->name));
@@ -1795,7 +1811,11 @@
int paramid;
int paramval;
int val = 0;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ wl_iw_t *iw = netdev_priv(dev);
+#else
wl_iw_t *iw = dev->priv;
+#endif
WL_TRACE(("%s: SIOCSIWAUTH\n", dev->name));
@@ -1926,7 +1946,11 @@
int paramid;
int paramval = 0;
int val;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ wl_iw_t *iw = netdev_priv(dev);
+#else
wl_iw_t *iw = dev->priv;
+#endif
WL_TRACE(("%s: SIOCGIWAUTH\n", dev->name));
diff -u -r a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
--- a/src/wl/sys/wl_linux.c 2009-01-19 23:03:09.000000000 +0100
+++ b/src/wl/sys/wl_linux.c 2009-01-24 13:55:13.397012940 +0100
@@ -53,6 +53,9 @@
#include <linux/pci_ids.h>
#define WLC_MAXBSSCFG 1
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+#include <net/lib80211.h>
+#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
#include <net/ieee80211.h>
#endif
@@ -149,7 +152,11 @@
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;
+#else
struct ieee80211_crypto_ops *tkipmodops;
+#endif
struct ieee80211_tkip_data *tkip_ucast_data;
struct ieee80211_tkip_data *tkip_bcast_data;
#endif
@@ -190,7 +197,11 @@
static int wl_found = 0;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+#define WL_DEV_IF(dev) ((wl_if_t*)netdev_priv(dev))
+#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)
@@ -350,6 +361,9 @@
dev = wlif->dev;
wl->dev = dev;
wl_if_setup(dev);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ wlif = netdev_priv(dev);
+#endif
dev->base_addr = regs;
@@ -423,10 +437,19 @@
#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");
+#else
wl->tkipmodops = ieee80211_get_crypto_ops("TKIP");
+#endif
if (wl->tkipmodops == NULL) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ request_module("lib80211");
+ wl->tkipmodops = lib80211_get_crypto_ops("TKIP");
+#else
request_module("ieee80211_crypt_tkip");
wl->tkipmodops = ieee80211_get_crypto_ops("TKIP");
+#endif
}
#endif
#ifdef CONFIG_WIRELESS_EXT
@@ -725,7 +748,11 @@
}
if (wl->monitor) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ wl_free_if(wl, (wl_if_t *)netdev_priv(wl->monitor));
+#else
wl_free_if(wl, (wl_if_t *)(wl->monitor->priv));
+#endif
wl->monitor = NULL;
}
@@ -895,6 +922,9 @@
#else
dev = alloc_netdev(0, name, ether_setup);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ wlif = netdev_priv(dev);
+#endif
if (!dev) {
MFREE(wl->osh, wlif, sizeof(wl_if_t));
WL_ERROR(("wl%d: wl_alloc_if: out of memory, alloc_netdev\n",
@@ -908,7 +938,9 @@
wlif->wl = wl;
wlif->wlcif = wlcif;
wlif->subunit = subunit;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
dev->priv = wlif;
+#endif
if (iftype != WL_IFTYPE_MON && wl->dev &&
netif_queue_stopped(wl->dev))
netif_stop_queue(dev);
Index: wl-kmod.spec
===================================================================
RCS file: /cvs/nonfree/rpms/wl-kmod/F-10/wl-kmod.spec,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- wl-kmod.spec 13 Feb 2009 06:17:50 -0000 1.17
+++ wl-kmod.spec 23 Feb 2009 20:15:48 -0000 1.18
@@ -3,11 +3,11 @@
# "buildforkernels newest" macro for just that build; immediately after
# queuing that build enable the macro again for subsequent builds; that way
# a new akmod package will only get build when a new one is actually needed
-%define buildforkernels newest
+#define buildforkernels newest
Name: wl-kmod
Version: 5.10.27.14
-Release: 1%{?dist}.2
+Release: 2%{?dist}
Summary: Kernel module for broadcom wireless devices
Group: System Environment/Kernel
License: Redistributable, no modification permitted
@@ -15,6 +15,7 @@
Source0:
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5_10_27_14....
Source1:
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v5_10_27_14....
Source11: broadcom-wl-kmodtool-excludekernel-filterfile
+Patch0: broadcom-wl-5.10.27.14-linux-2.6.29.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_bindir}/kmodtool
@@ -51,6 +52,7 @@
%else
tar xzf %{SOURCE1}
%endif
+%patch0 -p1 -b .kernelfix
popd
for kernel_version in %{?kernel_versions} ; do
@@ -80,6 +82,9 @@
rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Feb 23 2009 Chris Nolan <chris(a)cenolan.com> - 5.10.27.14-2
+- added patch for building against 2.6.29 kernel
+
* Fri Feb 13 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> -
5.10.27.14-1.2
- rebuild for latest Fedora kernel;