rpms/wl-kmod/F-10 broadcom-wl-5.10.27.14-linux-2.6.29.patch, NONE, 1.1 wl-kmod.spec, 1.17, 1.18

Chris Nolan cnolan at rpmfusion.org
Mon Feb 23 21:15:48 CET 2009


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 at 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.tar.gz
 Source1:	http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v5_10_27_14.tar.gz
 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 at 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;
 



More information about the rpmfusion-commits mailing list