From 709c4d66e0b107ca606941b988bad717c0b45d9b Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denis@denix.org>
Date: Tue, 17 Mar 2009 14:32:59 -0400
Subject: rename packages/ to recipes/ per earlier agreement

See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
---
 recipes/wlags-modules/files/Makefile            |  81 +++++
 recipes/wlags-modules/files/bugs.patch          |  76 ++++
 recipes/wlags-modules/files/fixes.patch         | 110 ++++++
 recipes/wlags-modules/files/includes.patch      | 450 ++++++++++++++++++++++++
 recipes/wlags-modules/files/kernel-pcmcia.patch |  90 +++++
 recipes/wlags-modules/files/wlags_h1.conf       |   6 +
 recipes/wlags-modules/files/wlags_h2.conf       |   6 +
 7 files changed, 819 insertions(+)
 create mode 100644 recipes/wlags-modules/files/Makefile
 create mode 100644 recipes/wlags-modules/files/bugs.patch
 create mode 100644 recipes/wlags-modules/files/fixes.patch
 create mode 100644 recipes/wlags-modules/files/includes.patch
 create mode 100644 recipes/wlags-modules/files/kernel-pcmcia.patch
 create mode 100644 recipes/wlags-modules/files/wlags_h1.conf
 create mode 100644 recipes/wlags-modules/files/wlags_h2.conf

(limited to 'recipes/wlags-modules/files')

diff --git a/recipes/wlags-modules/files/Makefile b/recipes/wlags-modules/files/Makefile
new file mode 100644
index 0000000000..9cd1358984
--- /dev/null
+++ b/recipes/wlags-modules/files/Makefile
@@ -0,0 +1,81 @@
+EXTRA_CFLAGS := -DBUS_PCMCIA -DWVLAN_49 -DHCF_MEM_IO -DHAS_WIRELESS_EXTENSIONS -DUSE_UIL -DUSE_WPA
+EXTRA_CFLAGS += -DDBG=1 -DDBG_LVL=2
+
+# Station:
+EXTRA_CFLAGS += -DSTA_ONLY
+
+# Access-Point:
+#EXTRA_CFLAGS += -DAP_ONLY -DUSE_WDS
+
+# Station & Access-Point:
+#EXTRA_CFLAGS += -DUSE_WDS
+
+# Je nach Station, AP oder St+Ap m�ssen verschiedene Firmware-Versionen einkompiliert werden:
+ifneq ($(findstring STA_ONLY,$(EXTRA_CFLAGS)),)
+sta_ap-objs := sta_h$(COMPILE_HERMES).o
+else
+ifneq ($(findstring AP_ONLY,$(EXTRA_CFLAGS)),)
+sta_ap-objs := ap_h$(COMPILE_HERMES).o
+else
+sta_ap-objs := sta_h$(COMPILE_HERMES).o
+sta-ap-objs += ap_h$(COMPILE_HERMELS).o
+endif
+endif
+
+
+#######################################
+
+ifeq ($(COMPILE_HERMES),1)
+
+EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DHERMES1
+
+list-multi := wlags49_h1_cs.o
+
+wlags49_h1_cs-objs := wl_cs.o wl_main.o wl_netdev.o wl_priv.o wl_util.o wl_wext.o \
+	hcf.o mmd.o dhf.o $(sta_ap-objs)
+
+obj-m := wlags49_h1_cs.o
+
+wlags49_h1_cs.o: $(wlags49_h1_cs-objs)
+	$(LD) $(LD_RFLAG) -r -o $@ $(wlags49_h1_cs-objs)
+
+endif
+
+#######################################
+
+ifeq ($(COMPILE_HERMES),2)
+
+EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DHERMES2 -DUSE_RTS
+
+list-multi := wlags49_h2_cs.o
+
+wlags49_h2_cs-objs := wl_cs.o wl_main.o wl_netdev.o wl_priv.o wl_util.o wl_wext.o wl_enc.o \
+	hcf.o mmd.o dhf.o $(sta_ap-objs)
+
+obj-m := wlags49_h2_cs.o
+
+wlags49_h2_cs.o: $(wlags49_h2_cs-objs)
+	$(LD) $(LD_RFLAG) -r -o $@ $(wlags49_h2_cs-objs)
+
+endif
+
+#######################################
+
+ifeq ($(COMPILE_HERMES),25)
+
+EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DHERMES25 -DUSE_RTS
+
+list-multi := wlags49_h25_cs.o
+
+wlags49_h25_cs-objs := wl_cs.o wl_main.o wl_netdev.o wl_priv.o wl_util.o wl_wext.o \
+	hcf.o mmd.o dhf.o $(sta_ap-objs)
+
+obj-m := wlags49_h25_cs.o
+
+wlags49_h25_cs.o: $(wlags49_h25_cs-objs)
+	$(LD) $(LD_RFLAG) -r -o $@ $(wlags49_h25_cs-objs)
+
+endif
+
+
+include $(TOPDIR)/Rules.make
diff --git a/recipes/wlags-modules/files/bugs.patch b/recipes/wlags-modules/files/bugs.patch
new file mode 100644
index 0000000000..12fcceaa05
--- /dev/null
+++ b/recipes/wlags-modules/files/bugs.patch
@@ -0,0 +1,76 @@
+This are some fixes for real bugs that I had with the driver in my
+environment.
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- wlags/wl_wext.c~bugs
++++ wlags/wl_wext.c
+@@ -3811,9 +3811,11 @@
+     /* NOTE: Format of MAC address (using colons to seperate bytes) may cause
+              a problem in future versions of the supplicant, if they ever
+              actually parse these parameters */
++#if DBG
+     sprintf( msg, "MLME-MICHAELMICFAILURE.indication(keyid=%d %scast addr="
+              "%s)", key_idx, addr1[0] & 0x01 ? "broad" : "uni",
+              DbgHwAddr( addr2 ));
++#endif
+     wrqu.data.length = strlen( msg );
+ 	wireless_send_event( dev, IWEVCUSTOM, &wrqu, msg );
+ #endif /* WIRELESS_EXT > 14 */
+--- wlags/mmd.c~bugs
++++ wlags/mmd.c
+@@ -233,7 +233,17 @@
+ 		i = 0;
+ 	}
+ #endif // HCF_ASSERT
+-	return i > 3 && supp->len == sizeof(CFG_SUP_RANGE_STRCT)/sizeof(hcf_16) - 1 ?
+-		   (CFG_RANGE_SPEC_STRCT*)actq : NULL;														/* 8 */
++/*
++ * Originally there was this code here:
++ * 
++ * return i > 3 && supp->len == sizeof(CFG_SUP_RANGE_STRCT)/sizeof(hcf_16) - 1 ?
++ *            (CFG_RANGE_SPEC_STRCT*)actq : NULL;
++ *
++ * Unfortunately, the sizeof() boogy was not working correctly on the Intel PXA2550 cpu.
++ * sizeof(CFG_SUP_RANGE_STRCT)==16 there. So I had to uncomment this.
++ * Holger Schurig <hs4233@mail.mn-solutions.de>
++ */
++
++	return i > 3 ? (CFG_RANGE_SPEC_STRCT*)actq : NULL;														/* 8 */
+ } // mmd_check_comp
+ 
+--- wlags/dhf.c~bugs
++++ wlags/dhf.c
+@@ -554,7 +554,6 @@
+ {
+ plugrecord  	*plugrecordp = fw->pdaplug;
+ int         	rc = HCF_SUCCESS;
+-int				plugrc = HCF_SUCCESS;
+ CFG_PROG_STRCT	*ltvp;
+ hcf_32      	code; 				// Code to plug
+ hcf_16      	*pdap;				// pointer to matching code found in pda
+@@ -565,7 +564,22 @@
+ 	while( ( rc == HCF_SUCCESS ) && ( code = plugrecordp->code ) != 0 ) {
+ 		pdap = apply_plug_rules(&cfg_prod_data[2], (hcf_16)(code & CODEMASK) );
+ 		if ( pdap ) {
++#if 0
++/*
++ * For plug record code=0x00000150, I get
++ *
++ *	(CNV_LITTLE_TO_INT(*pdap) - 1) * 2  == 4
++ * and
++ * 	plugrecordp->len                    == 2
++ *
++ * Therefore the download failed. Therefore, I disable this check.
++ * Holger Schurig, hs4233@mail.mn-solutions.de
++ */
++ 
+ 			if ( (CNV_LITTLE_TO_INT(*pdap) - 1) * 2 != plugrecordp->len ) {
++#else
++			if (0) {
++#endif
+ 				//!! Be aware of the difference with primary plug records:
+ 				//!! as opposed to plug_pri_records '!=' rather than '>'
+ 				//!! production data plug records must fit exactly at their location
diff --git a/recipes/wlags-modules/files/fixes.patch b/recipes/wlags-modules/files/fixes.patch
new file mode 100644
index 0000000000..32036f8e58
--- /dev/null
+++ b/recipes/wlags-modules/files/fixes.patch
@@ -0,0 +1,110 @@
+This are misc fixes to warnings.
+
+Somehow I have the feeling that Agere never used -Wall or is still using
+ancient compilers (e.g. gcc-2.95.x) so that they don't see those warnings.
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- wlags/wl_main.c~fixes
++++ wlags/wl_main.c
+@@ -81,6 +81,7 @@
+  ******************************************************************************/
+ #include "wl_version.h"
+ 
++#include <linux/init.h>
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+@@ -1122,7 +1123,6 @@
+         VALID_PARAM( PARM_PM_ENABLED <= WVLAN_PM_STATE_STANDARD );
+         VALID_PARAM( !PARM_CREATE_IBSS || strchr( "NnYy", PARM_CREATE_IBSS[0] ) != NULL );
+         VALID_PARAM( !PARM_RX_MULTICAST || strchr( "NnYy", PARM_RX_MULTICAST[0] ) != NULL );
+-        VALID_PARAM(( PARM_MAX_SLEEP <= PARM_MAX_MAX_PM_SLEEP ));
+         VALID_PARAM(( PARM_AUTHENTICATION <= PARM_MAX_AUTHENTICATION ));
+         VALID_PARAM(( PARM_OWN_ATIM_WINDOW <= PARM_MAX_OWN_ATIM_WINDOW ));
+         VALID_PARAM(( PARM_PM_HOLDOVER_DURATION <= PARM_MAX_PM_HOLDOVER_DURATION ));
+@@ -1513,6 +1513,7 @@
+         WL_WDS_NETDEV_REGISTER( lp );
+ 
+ 
++#ifdef USE_OLD_PARMS
+         /* Reset the DownloadFirmware variable in the private struct. If the
+            config file is not used, this will not matter; if it is used, it
+            will be reparsed in wl_open(). This is done because logic in wl_open
+@@ -1520,6 +1521,7 @@
+            the file here; however, this parsing is needed to register WDS ports
+            in AP mode, if they are configured */
+         lp->DownloadFirmware = download_firmware;
++#endif
+ 
+ 
+ #ifdef USE_RTS
+@@ -1539,10 +1541,12 @@
+     DBG_TRACE( DbgInfo, "%s: Wireless, io_addr %#03lx, irq %d, ""mac_address ",
+                dev->name, dev->base_addr, dev->irq );
+ 
++#if 0
+     for( i = 0; i < ETH_ALEN; i++ )
+     {
+         printk( "%02X%c", dev->dev_addr[i], (( i < ( ETH_ALEN-1 )) ? ':' : '\n' ));
+     }
++#endif
+    
+     
+     DBG_LEAVE( DbgInfo );
+@@ -4078,6 +4082,7 @@
+ 
+         break;
+ 
++#if DBG
+     case CFG_LINK_STAT:
+         DBG_TRACE( DbgInfo, "CFG_LINK_STAT\n" );
+ 
+@@ -4254,6 +4259,7 @@
+     default:
+         DBG_TRACE( DbgInfo, "CFG_TALLIES\n" );
+         break;
++#endif
+     }
+ 
+ 
+--- wlags/hcf.c~fixes
++++ wlags/hcf.c
+@@ -181,11 +181,14 @@
+ 
+ 	COMP_ROLE_SUPL,
+ 	COMP_ID_DUI,
+-	{	DUI_COMPAT_VAR,
++	{
++		{
++		DUI_COMPAT_VAR,
+ 		DUI_COMPAT_BOT,
+ 		DUI_COMPAT_TOP
++		}
+ 	}
+-} ;
++};
+ 
+ struct CFG_RANGE3_STRCT BASED cfg_drv_act_ranges_pri = {
+ 	sizeof(cfg_drv_act_ranges_pri)/sizeof(hcf_16) - 1,	//length of RID
+@@ -3603,7 +3606,7 @@
+ 
+ 	if ( (ifbp->IFB_CardStat & (CARD_STAT_INCOMP_PRI|CARD_STAT_INCOMP_FW) ) == 0 &&			/* 20*/
+ 		 ( (CFG_RID_CFG_MIN <= ltvp->typ && ltvp->typ <= CFG_RID_CFG_MAX ) ||
+-		 (0xFFE0 <= ltvp->typ && ltvp->typ <= 0xFFFF ) )) {
++		 (0xFFE0 <= ltvp->typ) )) {
+ 
+ #if HCF_ASSERT
+ 		if ( ltvp->typ != CFG_DEFAULT_KEYS			&& ltvp->typ != CFG_ADD_TKIP_DEFAULT_KEY	&& \
+--- wlags/wl_enc.c~fixes
++++ wlags/wl_enc.c
+@@ -78,6 +78,7 @@
+ /*******************************************************************************
+  *  include files
+  ******************************************************************************/
++#include <asm/uaccess.h>
+ #include "wl_version.h"
+ 
+ #include "debug.h"
diff --git a/recipes/wlags-modules/files/includes.patch b/recipes/wlags-modules/files/includes.patch
new file mode 100644
index 0000000000..16a5645531
--- /dev/null
+++ b/recipes/wlags-modules/files/includes.patch
@@ -0,0 +1,450 @@
+I keep all files in a flat directory. This patch changes the #include lines
+accordingly.
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- wlags/wl_main.c~includes
++++ wlags/wl_main.c
+@@ -79,7 +79,7 @@
+ /*******************************************************************************
+  *  include files
+  ******************************************************************************/
+-#include <wireless/wl_version.h>
++#include "wl_version.h"
+ 
+ #include <linux/module.h>
+ #include <linux/types.h>
+@@ -104,29 +104,29 @@
+ #include <linux/if_arp.h>
+ #include <linux/ioport.h>
+ 
+-#include <hcf/debug.h>
++#include "debug.h"
+ 
+-#include <hcf.h>
+-#include <dhf.h>
+-#include <hcfdef.h>
++#include "hcf.h"
++#include "dhf.h"
++#include "hcfdef.h"
+ 
+-#include <wireless/wl_if.h>
+-#include <wireless/wl_internal.h>
+-#include <wireless/wl_util.h>
+-#include <wireless/wl_main.h>
+-#include <wireless/wl_netdev.h>
+-#include <wireless/wl_wext.h>
++#include "wl_if.h"
++#include "wl_internal.h"
++#include "wl_util.h"
++#include "wl_main.h"
++#include "wl_netdev.h"
++#include "wl_wext.h"
+ 
+ #ifdef USE_PROFILE
+-#include <wireless/wl_profile.h>
++#include "wl_profile.h"
+ #endif  /* USE_PROFILE */
+ 
+ #ifdef BUS_PCMCIA
+-#include <wireless/wl_cs.h>
++#include "wl_cs.h"
+ #endif  /* BUS_PCMCIA */
+ 
+ #ifdef BUS_PCI
+-#include <wireless/wl_pci.h>
++#include "wl_pci.h"
+ #endif  /* BUS_PCI */
+ 
+ 
+--- wlags/wl_cs.c~includes
++++ wlags/wl_cs.c
+@@ -79,7 +79,7 @@
+ /*******************************************************************************
+  *  include files
+  ******************************************************************************/
+-#include <wireless/wl_version.h>
++#include "wl_version.h"
+ 
+ #include <linux/kernel.h>
+ #include <linux/sched.h>
+@@ -108,18 +108,18 @@
+ #include <pcmcia/cisreg.h>
+ #include <pcmcia/ciscode.h>
+ #include <pcmcia/ds.h>
+-#include <hcf/debug.h>
++#include "debug.h"
+ 
+-#include <hcf.h>
+-#include <dhf.h>
+-#include <hcfdef.h>
++#include "hcf.h"
++#include "dhf.h"
++#include "hcfdef.h"
+ 
+-#include <wireless/wl_if.h>
+-#include <wireless/wl_internal.h>
+-#include <wireless/wl_util.h>
+-#include <wireless/wl_main.h>
+-#include <wireless/wl_netdev.h>
+-#include <wireless/wl_cs.h>
++#include "wl_if.h"
++#include "wl_internal.h"
++#include "wl_util.h"
++#include "wl_main.h"
++#include "wl_netdev.h"
++#include "wl_cs.h"
+ 
+ 
+ 
+--- wlags/wl_enc.c~includes
++++ wlags/wl_enc.c
+@@ -78,12 +78,12 @@
+ /*******************************************************************************
+  *  include files
+  ******************************************************************************/
+-#include <wireless/wl_version.h>
++#include "wl_version.h"
+ 
+-#include <hcf/debug.h>
+-#include <hcf.h>
++#include "debug.h"
++#include "hcf.h"
+ 
+-#include <wireless/wl_enc.h>
++#include "wl_enc.h"
+ 
+ 
+ 
+--- wlags/wl_netdev.c~includes
++++ wlags/wl_netdev.c
+@@ -79,7 +79,7 @@
+ /*******************************************************************************
+  * include files
+  ******************************************************************************/
+-#include <wireless/wl_version.h>
++#include "wl_version.h"
+ 
+ #include <linux/module.h>
+ #include <linux/types.h>
+@@ -104,30 +104,30 @@
+ #include <linux/if_arp.h>
+ #include <linux/ioport.h>
+ 
+-#include <hcf/debug.h>
++#include "debug.h"
+ 
+-#include <hcf.h>
+-#include <dhf.h>
+-#include <hcfdef.h>
++#include "hcf.h"
++#include "dhf.h"
++#include "hcfdef.h"
+ 
+-#include <wireless/wl_if.h>
+-#include <wireless/wl_internal.h>
+-#include <wireless/wl_util.h>
+-#include <wireless/wl_priv.h>
+-#include <wireless/wl_main.h>
+-#include <wireless/wl_netdev.h>
+-#include <wireless/wl_wext.h>
++#include "wl_if.h"
++#include "wl_internal.h"
++#include "wl_util.h"
++#include "wl_priv.h"
++#include "wl_main.h"
++#include "wl_netdev.h"
++#include "wl_wext.h"
+ 
+ #ifdef USE_PROFILE
+-#include <wireless/wl_profile.h>
++#include "wl_profile.h"
+ #endif  /* USE_PROFILE */
+ 
+ #ifdef BUS_PCMCIA
+-#include <wireless/wl_cs.h>
++#include "wl_cs.h"
+ #endif  /* BUS_PCMCIA */
+ 
+ #ifdef BUS_PCI
+-#include <wireless/wl_pci.h>
++#include "wl_pci.h"
+ #endif  /* BUS_PCI */
+ 
+ 
+--- wlags/wl_priv.c~includes
++++ wlags/wl_priv.c
+@@ -78,24 +78,24 @@
+ /*******************************************************************************
+  * include files
+  ******************************************************************************/
+-#include <wireless/wl_version.h>
++#include "wl_version.h"
+ 
+ #include <linux/if_arp.h>
+ #include <linux/ioport.h>
+ #include <linux/delay.h> 
+ #include <asm/uaccess.h>
+ 
+-#include <hcf/debug.h>
+-#include <hcf.h>
+-#include <hcfdef.h>
++#include "debug.h"
++#include "hcf.h"
++#include "hcfdef.h"
+ 
+-#include <wireless/wl_if.h>
+-#include <wireless/wl_internal.h>
+-#include <wireless/wl_enc.h>
+-#include <wireless/wl_main.h>
+-#include <wireless/wl_priv.h>
+-#include <wireless/wl_util.h>
+-#include <wireless/wl_netdev.h>
++#include "wl_if.h"
++#include "wl_internal.h"
++#include "wl_enc.h"
++#include "wl_main.h"
++#include "wl_priv.h"
++#include "wl_util.h"
++#include "wl_netdev.h"
+ 
+ 
+ 
+--- wlags/wl_profile.c~includes
++++ wlags/wl_profile.c
+@@ -95,23 +95,23 @@
+ /*******************************************************************************
+  * include files
+  ******************************************************************************/
+-#include <wireless/wl_version.h>
++#include "wl_version.h"
+ 
+ #include <linux/netdevice.h>
+ #include <linux/etherdevice.h>
+ #include <linux/unistd.h>
+ #include <asm/uaccess.h>
+ 
+-#include <hcf/debug.h>
+-#include <hcf.h>
+-#include <hcfdef.h>
++#include "debug.h"
++#include "hcf.h"
++#include "hcfdef.h"
+ 
+-#include <wireless/wl_if.h>
+-#include <wireless/wl_internal.h>
+-#include <wireless/wl_util.h>
+-#include <wireless/wl_enc.h>
+-#include <wireless/wl_main.h>
+-#include <wireless/wl_profile.h>
++#include "wl_if.h"
++#include "wl_internal.h"
++#include "wl_util.h"
++#include "wl_enc.h"
++#include "wl_main.h"
++#include "wl_profile.h"
+ 
+ 
+ 
+--- wlags/wl_util.c~includes
++++ wlags/wl_util.c
+@@ -78,7 +78,7 @@
+ /*******************************************************************************
+  *  include files
+  ******************************************************************************/
+-#include <wireless/wl_version.h>
++#include "wl_version.h"
+ 
+ #include <linux/kernel.h>
+ #include <linux/sched.h>
+@@ -99,13 +99,13 @@
+ #include <linux/if_arp.h>
+ #include <linux/ioport.h>
+ 
+-#include <hcf/debug.h>
+-#include <hcf.h>
+-#include <hcfdef.h>
++#include "debug.h"
++#include "hcf.h"
++#include "hcfdef.h"
+ 
+-#include <wireless/wl_if.h>
+-#include <wireless/wl_internal.h>
+-#include <wireless/wl_util.h>
++#include "wl_if.h"
++#include "wl_internal.h"
++#include "wl_util.h"
+ 
+ 
+ 
+--- wlags/wl_wext.c~includes
++++ wlags/wl_wext.c
+@@ -74,22 +74,22 @@
+ /*******************************************************************************
+  *  include files
+  ******************************************************************************/
+-#include <wireless/wl_version.h>
++#include "wl_version.h"
+ 
+ #include <linux/if_arp.h>
+ #include <linux/ioport.h>
+ #include <linux/delay.h>
+ #include <asm/uaccess.h>
+ 
+-#include <hcf/debug.h>
+-#include <hcf.h>
+-#include <hcfdef.h>
++#include "debug.h"
++#include "hcf.h"
++#include "hcfdef.h"
+ 
+-#include <wireless/wl_if.h>
+-#include <wireless/wl_internal.h>
+-#include <wireless/wl_util.h>
+-#include <wireless/wl_main.h>
+-#include <wireless/wl_wext.h>
++#include "wl_if.h"
++#include "wl_internal.h"
++#include "wl_util.h"
++#include "wl_main.h"
++#include "wl_wext.h"
+ 
+ 
+ 
+@@ -212,7 +212,7 @@
+             break;
+ 
+ 
+-	    case SIOCSIWSPY:        // Set the spy list
++	case SIOCSIWSPY:        // Set the spy list
+             
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCGIWNAME\n" );
+             ret = wireless_set_spy_addrs( wrq, lp );
+@@ -220,7 +220,7 @@
+             break;
+ 
+ 
+-	    case SIOCGIWSPY:        // Get the spy list
++	case SIOCGIWSPY:        // Get the spy list
+             
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCSIWSPY\n" );
+             ret = wireless_get_spy_addrs( wrq, lp );
+@@ -239,6 +239,7 @@
+ 
+ 
+ #if (HCF_TYPE) & HCF_TYPE_STA
++
+         case SIOCGIWAP:         // Get the MAC Address of current AP
+ 
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCGIWAP\n" );
+@@ -248,7 +249,6 @@
+ 
+ #endif //HCF_STA
+ 
+-
+         case SIOCGIWAPLIST:
+ 
+             /* NOTE: SIOCGIWAPLIST has been deprecated by SIOCSIWSCAN/SIOCGIWSCAN.
+@@ -267,7 +267,7 @@
+             break;
+ 
+ 
+-	    case SIOCSIWSENS:       // Set the desired AP density
++	case SIOCSIWSENS:       // Set the desired AP density
+ 
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCSIWSENS\n" );
+             ret = wireless_set_sensitivity( wrq, lp );
+@@ -275,7 +275,7 @@
+             break;
+ 
+ 
+-	    case SIOCGIWSENS:       // Get the current AP density
++	case SIOCGIWSENS:       // Get the current AP density
+             
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCGIWSENS\n" );
+             wireless_get_sensitivity( wrq, lp );
+@@ -287,7 +287,7 @@
+ 
+ #if WIRELESS_EXT > 5
+ 
+-	    case SIOCSIWESSID:      // Set the desired network name (ESSID)
++	case SIOCSIWESSID:      // Set the desired network name (ESSID)
+             
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCSIWESSID\n" );
+             ret = wireless_set_essid( wrq, lp );
+@@ -295,7 +295,7 @@
+             break;
+ 
+ 
+-	    case SIOCGIWESSID:      // Get the current network name (ESSID)
++	case SIOCGIWESSID:      // Get the current network name (ESSID)
+             
+             DBG_TRACE(DbgInfo, "IOCTL: SIOCGIWESSID\n");  
+             ret = wireless_get_essid( wrq, lp );
+@@ -307,7 +307,7 @@
+ 
+ #if WIRELESS_EXT > 7
+ 
+-	    case SIOCSIWNICKN:      // Set desired station nickname
++	case SIOCSIWNICKN:      // Set desired station nickname
+            
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCSIWNICKN\n" );
+             ret = wireless_set_nickname( wrq, lp );
+@@ -315,7 +315,7 @@
+             break;
+ 	
+ 
+-	    case SIOCGIWNICKN:      // Get current station nickname
++	case SIOCGIWNICKN:      // Get current station nickname
+             
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCGIWNICKN\n" );
+             ret = wireless_get_nickname( wrq, lp );
+@@ -323,7 +323,7 @@
+             break;
+ 
+ 
+-        case SIOCSIWRTS:        // Set the desired RTS threshold
++	case SIOCSIWRTS:        // Set the desired RTS threshold
+            
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCSIWRTS\n" );
+             ret = wireless_set_rts_threshold( wrq, lp );
+@@ -331,7 +331,7 @@
+             break;
+ 	
+ 
+-	    case SIOCGIWRTS:        // Get the current RTS threshold
++	case SIOCGIWRTS:        // Get the current RTS threshold
+             
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCGIWRTS\n" );
+             wireless_get_rts_threshold( wrq, lp );
+@@ -382,7 +382,7 @@
+             break;
+ 
+ 
+-	    case SIOCGIWENCODE:     // Get the encryption keys
++	case SIOCGIWENCODE:     // Get the encryption keys
+            
+             DBG_TRACE( DbgInfo, "IOCTL: SIOCGIWENCODE\n" );
+             ret = wireless_get_encode( wrq, lp );
+@@ -503,7 +503,7 @@
+ 
+ #endif  // WIRELESS_EXT > 11
+ 
+-	    case SIOCGIWPRIV:       // Get private ioctl interface info
++	case SIOCGIWPRIV:       // Get private ioctl interface info
+ 
+             DBG_TRACE(DbgInfo, "IOCTL: SIOCGIWPRIV NOT SUPPORTED!!!\n");
+             ret = -EOPNOTSUPP;
+--- wlags/hcfcfg.h~includes
++++ wlags/hcfcfg.h
+@@ -764,7 +764,7 @@
+ 
+ #include <asm/io.h>
+ #include <linux/module.h>
+-#include <wireless/wl_version.h>
++#include "wl_version.h"
+ 
+ /* The following macro ensures that no symbols are exported, minimizing the chance of a symbol
+    collision in the kernel */
diff --git a/recipes/wlags-modules/files/kernel-pcmcia.patch b/recipes/wlags-modules/files/kernel-pcmcia.patch
new file mode 100644
index 0000000000..2a27344461
--- /dev/null
+++ b/recipes/wlags-modules/files/kernel-pcmcia.patch
@@ -0,0 +1,90 @@
+Compiling against PCMCIA-CS is obsolete since more than one year.
+Especially in Linux Kernel trees for embedded devices, the
+kernel-based PCMCIA are working, whereas pcmcia-cs has usual problems.
+
+This patch creates the necessary infrastructure to run the wlags
+driver with kernel-pcmcia.
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- wlags/wl_version.h~kernel-pcmcia
++++ wlags/wl_version.h
+@@ -161,23 +161,29 @@
+    the status of wireless extension support. Otherwise, including wireless
+    extension support will be switched on/off by the USE_WEXT condition */
+ #if defined BUS_PCMCIA
+-#include <pcmcia/config.h>
+-#include <pcmcia/k_compat.h>
++//#include <pcmcia/config.h>
++//#include <pcmcia/k_compat.h>
+ #elif defined BUS_PCI
+ #if USE_WEXT
+ #define HAS_WIRELESS_EXTENSIONS
+ #endif  // USE_WEXT
++#endif  // BUS_XXX
+ 
+ 
+ /* These are #defines you get "for free" with PCMCIA that I needed to add for 
+    PCI to build */
++#ifndef NEW_MULTICAST
+ #define NEW_MULTICAST
++#endif
++#ifndef ALLOC_SKB
+ #define ALLOC_SKB(len)   dev_alloc_skb(len+2)
++#endif
++#ifndef GET_PACKET
+ #define GET_PACKET(dev, skb, count)\
+                         skb_reserve((skb), 2); \
+                         BLOCK_INPUT(skb_put((skb), (count)), (count)); \
+                         (skb)->protocol = eth_type_trans((skb), (dev))
+-#endif  // BUS_XXX
++#endif
+ 
+ 
+ 
+--- wlags/wl_internal.h~kernel-pcmcia
++++ wlags/wl_internal.h
+@@ -85,8 +85,8 @@
+  *  include files
+  ******************************************************************************/
+ #ifdef BUS_PCMCIA
+-#include <pcmcia/config.h>
+-#include <pcmcia/k_compat.h>
++//#include <pcmcia/config.h>
++//#include <pcmcia/k_compat.h>
+ #include <pcmcia/version.h>
+ #include <pcmcia/cs_types.h>
+ #include <pcmcia/cs.h>
+--- wlags/wl_netdev.c~kernel-pcmcia
++++ wlags/wl_netdev.c
+@@ -1447,7 +1447,7 @@
+     dev->set_multicast_list = &wl_multicast;
+ 
+ #ifdef BUS_PCMCIA
+-    init_dev_name( dev, ( (struct wl_private *)dev->priv)->node );
++//HS    init_dev_name( dev, ( (struct wl_private *)dev->priv)->node );
+ #endif  // BUS_PCMCIA
+ 
+     dev->init               = &wl_init;
+--- wlags/wl_cs.c~kernel-pcmcia
++++ wlags/wl_cs.c
+@@ -497,7 +497,7 @@
+             /* Perform device-specific removal */
+             wl_remove( dev );
+ 
+-            link->release.expires = RUN_AT( HZ/20 );
++            link->release.expires = jiffies + ( HZ/20 );
+             add_timer( &( link->release ));
+         }
+ 
+@@ -786,7 +786,7 @@
+ 
+     if( link->state & DEV_STALE_CONFIG )
+     {
+-        link->release.expires   = RUN_AT( HZ/20 );
++        link->release.expires   = jiffies + ( HZ/20 );
+         link->state             |= DEV_RELEASE_PENDING;
+         
+         add_timer( &link->release );
diff --git a/recipes/wlags-modules/files/wlags_h1.conf b/recipes/wlags-modules/files/wlags_h1.conf
new file mode 100644
index 0000000000..e5669e7f01
--- /dev/null
+++ b/recipes/wlags-modules/files/wlags_h1.conf
@@ -0,0 +1,6 @@
+device "wlags49_h1_cs"
+  class "network" module "wlags49_h1_cs"
+
+card "Agere Systems Hermes 1 based Wireless Adapter"
+  manfid 0x0156, 0x0002
+  bind "wlags49_h1_cs"
diff --git a/recipes/wlags-modules/files/wlags_h2.conf b/recipes/wlags-modules/files/wlags_h2.conf
new file mode 100644
index 0000000000..24e461ceaf
--- /dev/null
+++ b/recipes/wlags-modules/files/wlags_h2.conf
@@ -0,0 +1,6 @@
+device "wlags49_h2_cs"
+  class "network" module "wlags49_h2_cs"
+
+card "Agere Systems Hermes 2 based Wireless Adapter"
+  manfid 0x0156, 0x0003
+  bind "wlags49_h2_cs"
-- 
cgit v1.2.3