[arch-commits] Commit in wlan-ng26/trunk (4 files)

Tobias Powalowski tpowa at archlinux.org
Sat Oct 11 16:14:57 EDT 2008


    Date: Saturday, October 11, 2008 @ 16:14:56
  Author: tpowa
Revision: 14957

upgpkg: wlan-ng26 0.2.9-2

Added:
  wlan-ng26/trunk/kernel-2.6.27.patch
Modified:
  wlan-ng26/trunk/PKGBUILD
  wlan-ng26/trunk/kernel-2.6.26.patch
  wlan-ng26/trunk/wlan-ng26.install

---------------------+
 PKGBUILD            |   26 +++----
 kernel-2.6.26.patch |    1 
 kernel-2.6.27.patch |  179 ++++++++++++++++++++++++++++++++++++++++++++++++++
 wlan-ng26.install   |    4 -
 4 files changed, 195 insertions(+), 15 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2008-10-11 18:53:23 UTC (rev 14956)
+++ PKGBUILD	2008-10-11 20:14:56 UTC (rev 14957)
@@ -3,33 +3,35 @@
 
 pkgname=wlan-ng26
 pkgver=0.2.9
-pkgrel=1
-_kernver=2.6.26-ARCH
+pkgrel=2
+_kernver=2.6.27-ARCH
 pkgdesc="Wireless Lan usb modules. For kernel26."
 arch=(i686 x86_64)
 license=('MPL')
-depends=('kernel26>=2.6.26-1' 'kernel26<2.6.27' 'wlan-ng26-utils')
+depends=('kernel26>=2.6.27-1' 'kernel26<2.6.28' 'wlan-ng26-utils')
 source=(ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/linux-wlan-ng-$pkgver.tar.bz2
-	kernel-2.6.26.patch)
+	kernel-2.6.26.patch
+	kernel-2.6.27.patch)
 url="ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/"
 install=wlan-ng26.install
 options=(!makeflags)
+md5sums=('96130b36f9674521b08fb3e2a6ac0382'
+         '7023c8c1f048659f95c2a41e5f1ae772'
+         '9261df23043b181fd86c5e4100a84883')
 
 build() {
-   cd $startdir/src/linux-wlan-ng-$pkgver
+   cd $srcdir/linux-wlan-ng-$pkgver
    patch -Np0 -i ../kernel-2.6.26.patch || return 1
+   patch -Np0 -i ../kernel-2.6.27.patch || return 1
   # only built usb modules the rest is covered by hostap and orinoco driver, according to gentoo changelog 
   sed -i "s#PRISM2_PCMCIA=y#PRISM2_PCMCIA=n#;s#TARGET_ROOT_ON_HOST=#TARGET_ROOT_ON_HOST=$startdir/pkg#;s#PRISM2_PLX=y#PRISM2_PLX=n#;s#PRISM2_PCI=y#PRISM2_PCI=n#;s#PRISM2_USB=n#PRISM2_USB=y#;s%#LINUX_SRC=/usr/src/linux%LINUX_SRC=/lib/modules/${_kernver}/build%" config.in
    make auto_config
    make all || return 1
    make install
    sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/wlan-ng26.install
-   rm -r $startdir/pkg/{etc,sbin,usr,init.d}
+   rm -r $pkgdir/{etc,sbin,usr,init.d}
    # fix module path
-   mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/net/wireless
-   mv $startdir/pkg/lib/modules/${_kernver}/linux-wlan-ng \
-      $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/net/wireless
+   mkdir -p $pkgdir/lib/modules/${_kernver}/kernel/drivers/net/wireless
+   mv $pkgdir/lib/modules/${_kernver}/linux-wlan-ng \
+      $pkgdir/lib/modules/${_kernver}/kernel/drivers/net/wireless
 }
-
-md5sums=('96130b36f9674521b08fb3e2a6ac0382'
-         '6ed5a5fefc2c149e0e0a98de211ba147')

Modified: kernel-2.6.26.patch
===================================================================
--- kernel-2.6.26.patch	2008-10-11 18:53:23 UTC (rev 14956)
+++ kernel-2.6.26.patch	2008-10-11 20:14:56 UTC (rev 14957)
@@ -11,4 +11,5 @@
 +		dev_net_set(dev, &init_net);
 +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) )
  		dev->nd_net = &init_net;
- #endif
\ No newline at end of file
+ #endif
+

Added: kernel-2.6.27.patch
===================================================================
--- kernel-2.6.27.patch	                        (rev 0)
+++ kernel-2.6.27.patch	2008-10-11 20:14:56 UTC (rev 14957)
@@ -0,0 +1,179 @@
+--- src/p80211/p80211wext.c	(revision 1865)
++++ src/p80211/p80211wext.c	(working copy)
+@@ -81,6 +81,12 @@
+ /* compatibility to wireless extensions */
+ #ifdef WIRELESS_EXT
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) && \
++    !defined(IW_REQUEST_FLAG_COMPAT)
++#define iwe_stream_add_event(a, b, c, d, e) iwe_stream_add_event(b, c, d, e)
++#define iwe_stream_add_point(a, b, c, d, e) iwe_stream_add_point(b, c, d, e)
++#endif
++
+ static UINT8 p80211_mhz_to_channel(UINT16 mhz)
+ {
+ 	if (mhz >= 5000) {
+@@ -1520,7 +1526,8 @@
+  * airo driver code.
+  */
+ static char *
+-wext_translate_bss(char *current_ev, char *end_buf, p80211msg_dot11req_scan_results_t *bss)
++wext_translate_bss(struct iw_request_info *info, char *current_ev,
++		   char *end_buf, p80211msg_dot11req_scan_results_t *bss)
+ {
+ 	struct iw_event iwe;	/* Temporary buffer */
+ 
+@@ -1528,7 +1535,8 @@
+ 	memcpy(iwe.u.ap_addr.sa_data, bss->bssid.data.data, WLAN_BSSID_LEN);
+ 	iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
+ 	iwe.cmd = SIOCGIWAP;
+-	current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_ADDR_LEN);
++	current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe,
++					  IW_EV_ADDR_LEN);
+ 
+ 	/* The following entries will be displayed in the same order we give them */
+ 
+@@ -1544,7 +1552,8 @@
+ 		iwe.u.data.length = size;
+ 		iwe.u.data.flags = 1;
+ 		iwe.cmd = SIOCGIWESSID;
+-		current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, &essid[0]);
++		current_ev = iwe_stream_add_point(info, current_ev, end_buf,
++						  &iwe, &essid[0]);
+ 		WLAN_LOG_DEBUG(1, " essid size OK.\n");
+ 	}
+ 
+@@ -1563,7 +1572,8 @@
+ 	}
+ 	iwe.cmd = SIOCGIWMODE;
+ 	if (iwe.u.mode)
+-		current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_UINT_LEN);
++		current_ev = iwe_stream_add_event(info, current_ev, end_buf,
++						  &iwe, IW_EV_UINT_LEN);
+ 
+ 	/* Encryption capability */
+ 	if (bss->privacy.data == P80211ENUM_truth_true)
+@@ -1572,13 +1582,15 @@
+ 		iwe.u.data.flags = IW_ENCODE_DISABLED;
+ 	iwe.u.data.length = 0;
+ 	iwe.cmd = SIOCGIWENCODE;
+-	current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, NULL);
++	current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe,
++					  NULL);
+ 
+ 	/* Add frequency. (short) bss->channel is the frequency in MHz */
+ 	iwe.u.freq.m = bss->dschannel.data;
+ 	iwe.u.freq.e = 0;
+ 	iwe.cmd = SIOCGIWFREQ;
+-	current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_FREQ_LEN);
++	current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe,
++					  IW_EV_FREQ_LEN);
+ 
+ 	/* Add quality statistics */
+ 	iwe.u.qual.level = bss->signal.data;
+@@ -1586,7 +1598,8 @@
+ 	/* do a simple SNR for quality */
+ 	iwe.u.qual.qual = qual_as_percent(bss->signal.data - bss->noise.data);
+ 	iwe.cmd = IWEVQUAL;
+-	current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_QUAL_LEN);
++	current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe,
++					  IW_EV_QUAL_LEN);
+ 
+ 	return current_ev;
+ }
+@@ -1627,7 +1640,8 @@
+ 			break;
+ 		}
+ 		  
+-		current_ev = wext_translate_bss(current_ev, extra + IW_SCAN_MAX_DATA, &msg);
++		current_ev = wext_translate_bss(info, current_ev,
++						extra + IW_SCAN_MAX_DATA, &msg);
+ 		scan_good = 1;
+ 		i++;
+ 	} while (i < IW_MAX_AP);
+--- src/p80211/p80211netdev.c
++++ src/p80211/p80211netdev.c
+@@ -869,6 +869,30 @@ static int wlan_change_mtu(netdevice_t *dev, int new_mtu)
+         return 0;
+ }
+ 
++/*---------------------------------------------------------
++ * wlan_alloc_netdev
++ *
++ * create a netdev properly over different kernel versions
++ * this should work with kernels earlier than 2.6.26, and if
++ * anyone cares they can change it
++----------------------------------------------------------*/   
++
++static inline netdevice_t * wlan_alloc_netdev() {
++	netdevice_t *dev;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) )
++	dev = alloc_netdev(0,"wlan%d",ether_setup);
++#else
++	dev = kmalloc(sizeof(netdevice_t), GFP_ATOMIC);
++	if ( dev ) {
++		memset( dev, 0, sizeof(netdevice_t));
++		ether_setup(dev);
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) )
++		dev->nd_net = &init_net;
++#endif
++	}
++#endif
++	return dev;
++}
+ 
+ 
+ /*----------------------------------------------------------------
+@@ -911,14 +935,12 @@ int wlan_setup(wlandevice_t *wlandev)
+ 		     p80211netdev_rx_bh, 
+ 		     (unsigned long)wlandev);
+ 
+-	/* Allocate and initialize the struct device */
+-	dev = kmalloc(sizeof(netdevice_t), GFP_ATOMIC);
++	/* Allocate and initialize the struct net device */
++	dev = wlan_alloc_netdev();
+ 	if ( dev == NULL ) {
+ 		WLAN_LOG_ERROR("Failed to alloc netdev.\n");
+ 		result = 1;
+ 	} else {
+-		memset( dev, 0, sizeof(netdevice_t));
+-		ether_setup(dev);
+ 		wlandev->netdev = dev;
+ 		dev->priv = wlandev;
+ 		dev->hard_start_xmit =	p80211knetdev_hard_start_xmit;
+@@ -946,10 +968,8 @@ int wlan_setup(wlandevice_t *wlandev)
+ 		dev->wireless_handlers = &p80211wext_handler_def;
+ #endif
+ #endif
+-	
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) )
+-		dev_net_set(dev, &init_net);
+-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) )
++
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26))
+ 		dev->nd_net = &init_net;
+ #endif
+ 		
+@@ -1044,7 +1064,12 @@ int register_wlandev(wlandevice_t *wlandev)
+ 	netdevice_t	*dev = wlandev->netdev;
+ 
+ 	DBFENTER;
+-
++/* alloc_netdev already sets up the name */
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) )
++	i = register_netdev(dev);
++	if (i) 
++		return i;
++#else
+ 	i = dev_alloc_name(wlandev->netdev, "wlan%d");
+ 	if (i >= 0) {
+ 		i = register_netdev(wlandev->netdev);
+@@ -1058,6 +1083,8 @@ int register_wlandev(wlandevice_t *wlandev)
+ #else
+ 	strcpy(wlandev->name, dev->name);
+ #endif
++#endif
++
+ 
+ #ifdef CONFIG_PROC_FS
+ 	if (proc_p80211) {

Modified: wlan-ng26.install
===================================================================
--- wlan-ng26.install	2008-10-11 18:53:23 UTC (rev 14956)
+++ wlan-ng26.install	2008-10-11 20:14:56 UTC (rev 14957)
@@ -8,7 +8,7 @@
 post_upgrade() {
   # updating module dependencies
   echo ">>> Updating module dependencies. Please wait ..."
-  KERNEL_VERSION=2.6.26-ARCH
+  KERNEL_VERSION=2.6.27-ARCH
   depmod -v $KERNEL_VERSION  > /dev/null 2>&1
 }
 
@@ -21,7 +21,7 @@
 post_remove() {
   # updating module dependencies
   echo ">>> Updating module dependencies. Please wait ..."
-  KERNEL_VERSION=2.6.26-ARCH
+  KERNEL_VERSION=2.6.27-ARCH
   depmod -v $KERNEL_VERSION  > /dev/null 2>&1
 }
 




More information about the arch-commits mailing list