summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Opfer <dirk@opfer-online.de>2006-03-23 09:45:04 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-03-23 09:45:04 +0000
commitbc8713bc19b90499828aa2d8f148752967b7ee0c (patch)
tree1956cd7ee47a8ec73f1187c02fd1943c9f2b9e2e
parentb4d5283ac5eda8be3429f6d6e89d258ea351cf61 (diff)
wlan-ng: add 0.2.3 and svn version, split usb, cs and pci driver
-rw-r--r--packages/wlan-ng/files/might-sleep.patch16
-rw-r--r--packages/wlan-ng/files/more-compat.patch7
-rw-r--r--packages/wlan-ng/files/msleep-vs-mdelay.patch16
-rw-r--r--packages/wlan-ng/files/no-compat.patch47
-rw-r--r--packages/wlan-ng/wlan-ng-modules-0.2.3/.mtn2git_empty0
-rw-r--r--packages/wlan-ng/wlan-ng-modules-0.2.3/config.in21
-rw-r--r--packages/wlan-ng/wlan-ng-modules-0.2.3/module_param_array.patch21
-rw-r--r--packages/wlan-ng/wlan-ng-modules-0.2.3/only-the-modules.patch31
-rw-r--r--packages/wlan-ng/wlan-ng-modules-0.2.3/prism2sta_commsqual_defer.patch17
-rw-r--r--packages/wlan-ng/wlan-ng-modules.inc69
-rw-r--r--packages/wlan-ng/wlan-ng-modules/.mtn2git_empty0
-rw-r--r--packages/wlan-ng/wlan-ng-modules/config.in21
-rw-r--r--packages/wlan-ng/wlan-ng-modules/only-the-modules.patch31
-rw-r--r--packages/wlan-ng/wlan-ng-modules/pcmcia-driver.patch84
-rw-r--r--packages/wlan-ng/wlan-ng-modules/usb-owner.patch13
-rw-r--r--packages/wlan-ng/wlan-ng-modules_0.2.3.bb7
-rw-r--r--packages/wlan-ng/wlan-ng-modules_svn.bb7
-rw-r--r--packages/wlan-ng/wlan-ng-utils-0.2.3/.mtn2git_empty0
-rw-r--r--packages/wlan-ng/wlan-ng-utils-0.2.3/config.in21
-rw-r--r--packages/wlan-ng/wlan-ng-utils-0.2.3/only-the-utils.patch30
-rw-r--r--packages/wlan-ng/wlan-ng-utils/.mtn2git_empty0
-rw-r--r--packages/wlan-ng/wlan-ng-utils/config.in21
-rw-r--r--packages/wlan-ng/wlan-ng-utils/only-the-utils.patch33
-rw-r--r--packages/wlan-ng/wlan-ng-utils/wlan.agent105
-rw-r--r--packages/wlan-ng/wlan-ng-utils_0.2.3.bb68
-rw-r--r--packages/wlan-ng/wlan-ng-utils_svn.bb69
26 files changed, 755 insertions, 0 deletions
diff --git a/packages/wlan-ng/files/might-sleep.patch b/packages/wlan-ng/files/might-sleep.patch
new file mode 100644
index 0000000000..a156229331
--- /dev/null
+++ b/packages/wlan-ng/files/might-sleep.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.2/src/include/wlan/wlan_compat.h~might_sleep
++++ linux-wlan-ng-0.2.2/src/include/wlan/wlan_compat.h
+@@ -584,7 +584,7 @@
+ #endif
+
+ #ifndef might_sleep
+-#define might_sleep(a) do { } while (0)
++#define might_sleep() do { } while (0)
+ #endif
+
+ /* Apparently 2.4.2 ethtool is quite different, maybe newer too? */
diff --git a/packages/wlan-ng/files/more-compat.patch b/packages/wlan-ng/files/more-compat.patch
new file mode 100644
index 0000000000..4ce8173f93
--- /dev/null
+++ b/packages/wlan-ng/files/more-compat.patch
@@ -0,0 +1,7 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.2/wlan_compat.h
++++ /dev/null
diff --git a/packages/wlan-ng/files/msleep-vs-mdelay.patch b/packages/wlan-ng/files/msleep-vs-mdelay.patch
new file mode 100644
index 0000000000..d98116b07c
--- /dev/null
+++ b/packages/wlan-ng/files/msleep-vs-mdelay.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.2/src/prism2/driver/prism2_usb.c~msleep-vs-mdelay
++++ linux-wlan-ng-0.2.2/src/prism2/driver/prism2_usb.c
+@@ -279,7 +279,7 @@
+ * is "wake up", so that's easy.
+ * (I'd like a better way to do this, really.)
+ */
+- msleep(100);
++ mdelay(100);
+
+ /* Now delete the CTLXs, because no-one else can now. */
+ list_for_each_safe(entry, temp, &cleanlist) {
diff --git a/packages/wlan-ng/files/no-compat.patch b/packages/wlan-ng/files/no-compat.patch
new file mode 100644
index 0000000000..4f59f0fa5d
--- /dev/null
+++ b/packages/wlan-ng/files/no-compat.patch
@@ -0,0 +1,47 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.1pre21/src/include/wlan/wlan_compat.h~no-compat
++++ linux-wlan-ng-0.2.1pre21/src/include/wlan/wlan_compat.h
+@@ -351,14 +351,14 @@
+
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,20))
+ #ifdef _LINUX_LIST_H
+-
++/*
+ static inline void list_move_tail(struct list_head *list,
+ struct list_head *head)
+ {
+ __list_del(list->prev, list->next);
+ list_add_tail(list, head);
+ }
+-
++*/
+ static inline void __list_splice(struct list_head *list,
+ struct list_head *head)
+ {
+@@ -372,13 +372,13 @@
+ last->next = at;
+ at->prev = last;
+ }
+-
++/*
+ static inline void list_move(struct list_head *list, struct list_head *head)
+ {
+ __list_del(list->prev, list->next);
+ list_add(list, head);
+ }
+-
++*/
+ static inline void list_splice_init(struct list_head *list,
+ struct list_head *head)
+ {
+@@ -388,7 +388,6 @@
+ }
+ }
+
+-
+ #endif // LIST_H
+ #endif
diff --git a/packages/wlan-ng/wlan-ng-modules-0.2.3/.mtn2git_empty b/packages/wlan-ng/wlan-ng-modules-0.2.3/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules-0.2.3/.mtn2git_empty
diff --git a/packages/wlan-ng/wlan-ng-modules-0.2.3/config.in b/packages/wlan-ng/wlan-ng-modules-0.2.3/config.in
new file mode 100644
index 0000000000..c78bef10b6
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules-0.2.3/config.in
@@ -0,0 +1,21 @@
+WLAN_VERSION=0
+WLAN_PATCHLEVEL=2
+WLAN_SUBLEVEL=3
+WLAN_EXTRAVERSION=
+#LINUX_SRC=$(KERNEL_SOURCE)
+PCMCIA_SRC=
+PREFIX=
+INST_EXEDIR=/sbin
+#TARGET_ROOT_ON_HOST=
+#RC_DIR=/etc/init.d
+PCMCIA_DIR=/etc/pcmcia
+SYSV_INIT=y
+INSTALL_DEPMOD=
+WLAN_DEBUG=n
+CROSS_COMPILE_ENABLED=n
+CROSS_COMPILE=
+HOST_COMPILE=
+PRISM2_PLX=y
+PRISM2_PCMCIA=y
+PRISM2_PCI=y
+PRISM2_USB=y
diff --git a/packages/wlan-ng/wlan-ng-modules-0.2.3/module_param_array.patch b/packages/wlan-ng/wlan-ng-modules-0.2.3/module_param_array.patch
new file mode 100644
index 0000000000..93d0c01bdd
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules-0.2.3/module_param_array.patch
@@ -0,0 +1,21 @@
+Index: linux-wlan-ng-0.2.3/src/prism2/driver/prism2_cs.c
+===================================================================
+--- linux-wlan-ng-0.2.3.orig/src/prism2/driver/prism2_cs.c 2005-09-30 18:19:26.000000000 +0200
++++ linux-wlan-ng-0.2.3/src/prism2/driver/prism2_cs.c 2006-02-06 20:23:23.902133136 +0100
+@@ -22,12 +22,16 @@
+ * says.
+ */
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11) )
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+ #if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,8))
+ static int numlist = 4;
+ module_param_array(irq_list, int, numlist, 0444);
+ #else
+ module_param_array(irq_list, int, NULL, 0444);
+ #endif
++#else
++MODULE_PARM( irq_list, "1-4i" );
++#endif
+ module_param( irq_mask, int, 0644);
+ #endif
+
diff --git a/packages/wlan-ng/wlan-ng-modules-0.2.3/only-the-modules.patch b/packages/wlan-ng/wlan-ng-modules-0.2.3/only-the-modules.patch
new file mode 100644
index 0000000000..a119460a1d
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules-0.2.3/only-the-modules.patch
@@ -0,0 +1,31 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.1-pre26/src/Makefile~only-the-modules.patch
++++ linux-wlan-ng-0.2.1-pre26/src/Makefile
+@@ -44,10 +44,8 @@
+
+ include ../config.mk
+
+-DIRS=p80211 prism2 shared wlanctl wland nwepgen \
+- mkmeta wlancfg
+-ALL_DIRS=mkmeta p80211 prism2 shared wlanctl wland \
+- nwepgen wlancfg
++DIRS=p80211 prism2 shared mkmeta
++ALL_DIRS=mkmeta p80211 prism2 shared
+
+ ifneq ($(wildcard *.addon),)
+ DIRS+=`cat *.addon`
+--- linux-wlan-ng-0.2.1-pre26/src/prism2/Makefile~only-the-modules.patch
++++ linux-wlan-ng-0.2.1-pre26/src/prism2/Makefile
+@@ -44,7 +44,7 @@
+
+ include ../../config.mk
+
+-DIRS=driver ridlist download
++DIRS=driver ridlist
+
+ ifneq ($(wildcard *.addon),)
+ DIRS+=`cat *.addon`
diff --git a/packages/wlan-ng/wlan-ng-modules-0.2.3/prism2sta_commsqual_defer.patch b/packages/wlan-ng/wlan-ng-modules-0.2.3/prism2sta_commsqual_defer.patch
new file mode 100644
index 0000000000..65e34a326b
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules-0.2.3/prism2sta_commsqual_defer.patch
@@ -0,0 +1,17 @@
+Index: linux-wlan-ng-0.2.3/src/prism2/driver/prism2sta.c
+===================================================================
+--- linux-wlan-ng-0.2.3.orig/src/prism2/driver/prism2sta.c 2005-10-07 23:32:44.000000000 +0200
++++ linux-wlan-ng-0.2.3/src/prism2/driver/prism2sta.c 2006-02-21 09:02:21.338239744 +0100
+@@ -2427,11 +2427,7 @@
+ hfa384x2host_16(hw->qual.ANL_currFC));
+
+ /* Reschedule timer */
+- //if (!hw->timer_running) {
+- hw->commsqual_timer.expires = jiffies + HZ;
+- add_timer(&hw->commsqual_timer);
+- hw->timer_running = 1;
+- //}
++ mod_timer(&hw->commsqual_timer, jiffies + HZ);
+
+ done:
+ DBFEXIT;
diff --git a/packages/wlan-ng/wlan-ng-modules.inc b/packages/wlan-ng/wlan-ng-modules.inc
new file mode 100644
index 0000000000..b27bad1a38
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules.inc
@@ -0,0 +1,69 @@
+DESCRIPTION = "linux-wlan-ng (prism2.x, prism3, pcmcia, pci, usb) driver for 11Mbps wireless lan cards"
+HOMEPAGE = "http://www.linux-wlan.org"
+SECTION = "kernel/modules"
+DEPENDS = "virtual/kernel"
+RRECOMMENDS = "wlan-ng-utils"
+LICENSE = "GPL"
+
+SRC_URI = "file://no-compat.patch;patch=1 \
+ file://msleep-vs-mdelay.patch;patch=1 \
+ file://might-sleep.patch;patch=1 \
+ file://only-the-modules.patch;patch=1 \
+# file://module_param_array.patch;patch=1 \
+ file://scripts-makefile-hostcc.patch;patch=1 \
+ file://pcmciasrc.patch;patch=1 \
+ file://usb-owner.patch;patch=1 \
+ file://pcmcia-driver.patch;patch=1 \
+ file://config.in"
+
+inherit module
+
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE = "CC="${KERNEL_CC}" LD=${KERNEL_LD} PARALLEL_MAKE=''"
+
+do_configure() {
+ install -m 0655 ${WORKDIR}/config.in ${S}/config.in
+ oe_runmake LINUX_SRC=${KERNEL_SOURCE} auto_config
+
+ if grep CONFIG_PCMCIA=[ym] ${STAGING_KERNEL_DIR}/kernel-config; then
+ echo "PRISM2_PCMCIA=y" >> config.mk
+ echo "WLAN_KERN_PCMCIA=y" >> config.mk
+ fi
+ echo "TARGET_ROOT_ON_HOST=${D}/" >> config.mk
+ echo "TARGET_MODDIR=${D}/lib/modules/${KERNEL_VERSION}/wlan-ng" >> config.mk
+ echo "CC=${KERNEL_CC}" >> config.mk
+ echo "LD=${KERNEL_LD}" >> config.mk
+ echo "LDFLAGS=" >> config.mk
+
+ # Listen closely... sssshhh... can you hear the wlan-ng build system suck?
+ rm -f ${KERNEL_SOURCE}/../config.mk
+ rm -f ${KERNEL_SOURCE}/../../config.mk
+ ln -sf ${S}/config.mk ${KERNEL_SOURCE}/..
+ ln -sf ${S}/config.mk ${KERNEL_SOURCE}/../..
+ install -m 0655 config.mk src/prism2/config.mk
+ install -d src/prism2/driver/include
+ ln -sf ${S}/src/include/wlan src/prism2/driver/include/wlan
+ ln -sf ${S}/src/prism2/include/prism2 src/prism2/driver/include/prism2
+}
+
+do_compile() {
+ oe_runmake -C src all
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+
+ # Listen closely... sssshhh... can you hear the wlan-ng build system suck?
+ rm -f ${KERNEL_SOURCE}/../config.mk
+ rm -f ${KERNEL_SOURCE}/../../config.mk
+}
+
+PACKAGES = "wlan-ng-modules-usb wlan-ng-modules-cs wlan-ng-modules-pci wlan-ng-modules-p80211"
+FILES_wlan-ng-modules-p80211 = "/lib/modules/${KERNEL_VERSION}/wlan-ng/p80211${KERNEL_OBJECT_SUFFIX}"
+FILES_wlan-ng-modules-usb = "/lib/modules/${KERNEL_VERSION}/wlan-ng/prism2_usb${KERNEL_OBJECT_SUFFIX}"
+FILES_wlan-ng-modules-cs = "/lib/modules/${KERNEL_VERSION}/wlan-ng/prism2_cs${KERNEL_OBJECT_SUFFIX}"
+FILES_wlan-ng-modules-pci = "/lib/modules/${KERNEL_VERSION}/wlan-ng/prism2_pci${KERNEL_OBJECT_SUFFIX} \
+ /lib/modules/${KERNEL_VERSION}/wlan-ng/prism2_plx${KERNEL_OBJECT_SUFFIX}"
+RDEPENDS_wlan-ng-modules-usb = "wlan-ng-modules-p80211"
+RDEPENDS_wlan-ng-modules-cs = "wlan-ng-modules-p80211"
+RDEPENDS_wlan-ng-modules-pci = "wlan-ng-modules-p80211"
diff --git a/packages/wlan-ng/wlan-ng-modules/.mtn2git_empty b/packages/wlan-ng/wlan-ng-modules/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules/.mtn2git_empty
diff --git a/packages/wlan-ng/wlan-ng-modules/config.in b/packages/wlan-ng/wlan-ng-modules/config.in
new file mode 100644
index 0000000000..9a34bf5f7b
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules/config.in
@@ -0,0 +1,21 @@
+WLAN_VERSION=0
+WLAN_PATCHLEVEL=2
+WLAN_SUBLEVEL=3
+WLAN_EXTRAVERSION=svn
+#LINUX_SRC=$(KERNEL_SOURCE)
+PCMCIA_SRC=
+PREFIX=
+INST_EXEDIR=/sbin
+#TARGET_ROOT_ON_HOST=
+#RC_DIR=/etc/init.d
+PCMCIA_DIR=/etc/pcmcia
+SYSV_INIT=y
+INSTALL_DEPMOD=
+WLAN_DEBUG=n
+CROSS_COMPILE_ENABLED=n
+CROSS_COMPILE=
+HOST_COMPILE=
+PRISM2_PLX=y
+PRISM2_PCMCIA=y
+PRISM2_PCI=y
+PRISM2_USB=y
diff --git a/packages/wlan-ng/wlan-ng-modules/only-the-modules.patch b/packages/wlan-ng/wlan-ng-modules/only-the-modules.patch
new file mode 100644
index 0000000000..16d2bf3a6c
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules/only-the-modules.patch
@@ -0,0 +1,31 @@
+Index: linux-wlan-ng-devel/src/Makefile
+===================================================================
+--- linux-wlan-ng-devel.orig/src/Makefile 2006-02-21 11:41:23.000000000 +0100
++++ linux-wlan-ng-devel/src/Makefile 2006-02-21 12:58:05.796955176 +0100
+@@ -44,10 +44,9 @@
+
+ -include ../config.mk
+
+-DIRS=p80211 prism2 shared wlanctl nwepgen \
+- mkmeta wlancfg
+-ALL_DIRS=mkmeta p80211 prism2 shared wlanctl \
+- nwepgen wlancfg
++
++DIRS=p80211 prism2 shared mkmeta
++ALL_DIRS=mkmeta p80211 prism2 shared
+
+ ifneq ($(wildcard *.addon),)
+ DIRS+=`cat *.addon`
+Index: linux-wlan-ng-devel/src/prism2/Makefile
+===================================================================
+--- linux-wlan-ng-devel.orig/src/prism2/Makefile 2006-02-21 11:41:23.000000000 +0100
++++ linux-wlan-ng-devel/src/prism2/Makefile 2006-02-21 12:57:28.660600760 +0100
+@@ -44,7 +44,7 @@
+
+ -include ../../config.mk
+
+-DIRS=driver ridlist download
++DIRS=driver ridlist
+
+ ifneq ($(wildcard *.addon),)
+ DIRS+=`cat *.addon`
diff --git a/packages/wlan-ng/wlan-ng-modules/pcmcia-driver.patch b/packages/wlan-ng/wlan-ng-modules/pcmcia-driver.patch
new file mode 100644
index 0000000000..429452f715
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules/pcmcia-driver.patch
@@ -0,0 +1,84 @@
+Index: trunk/src/prism2/driver/prism2_cs.c
+===================================================================
+--- trunk.orig/src/prism2/driver/prism2_cs.c 2006-03-23 08:45:02.000000000 +0100
++++ trunk/src/prism2/driver/prism2_cs.c 2006-03-23 09:14:21.777552944 +0100
+@@ -45,6 +45,8 @@
+ static void prism2sta_config(dev_link_t *link);
+ static void prism2sta_release(u_long arg);
+ static int prism2sta_event (event_t event, int priority, event_callback_args_t *args);
++static int prism2sta_suspend1(struct pcmcia_device *dev);
++static int prism2sta_resume1(struct pcmcia_device *dev);
+
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,68))
+ /*----------------------------------------------------------------
+@@ -140,13 +142,23 @@
+ .drv = {
+ .name = "prism2_cs",
+ },
+- .attach = prism2sta_attach,
+- .detach = prism2sta_detach,
+- .owner = THIS_MODULE,
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15))
++ .probe = prism2sta_attach,
++ .remove = prism2sta_detach,
++ .suspend= prism2sta_suspend1,
++ .resume = prism2sta_resume1,
++#else
++ .attach = prism2sta_attach,
++ .detach = prism2sta_detach,
++#endif
++ .owner = THIS_MODULE,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13))
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
++ .event = prism2sta_event,
++#endif
+ .id_table = prism2_cs_ids,
+- .event = prism2sta_event,
+ #endif
++
+ };
+ #endif /* kernel_version */
+
+@@ -361,7 +373,41 @@
+ return;
+ }
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15))
++static int prism2sta_suspend1(struct pcmcia_device *dev)
++{
++ dev_link_t *link = dev_to_instance(dev);
++ wlandevice_t *wlandev = (wlandevice_t*)link->priv;
++
++ DBFENTER;
++
++ link->state |= DEV_SUSPEND;
++ if (link->state & DEV_CONFIG) {
++ prism2sta_ifstate(wlandev, P80211ENUM_ifstate_disable);
++ pcmcia_release_configuration(link->handle);
++ }
++
++ DBFEXIT;
++ return 0;
++}
+
++static int prism2sta_resume1(struct pcmcia_device *dev)
++{
++ dev_link_t *link = dev_to_instance(dev);
++ wlandevice_t *wlandev = (wlandevice_t*)link->priv;
++
++ DBFENTER;
++
++ link->state &= ~DEV_SUSPEND;
++ if (link->state & DEV_CONFIG) {
++ pcmcia_request_configuration(link->handle, &link->conf);
++ }
++
++ DBFEXIT;
++ return 0;
++}
++#endif
++
+ /*----------------------------------------------------------------
+ * prism2sta_config
+ *
diff --git a/packages/wlan-ng/wlan-ng-modules/usb-owner.patch b/packages/wlan-ng/wlan-ng-modules/usb-owner.patch
new file mode 100644
index 0000000000..aa66ceeef9
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules/usb-owner.patch
@@ -0,0 +1,13 @@
+Index: trunk/src/prism2/driver/prism2_usb.c
+===================================================================
+--- trunk.orig/src/prism2/driver/prism2_usb.c 2006-03-22 09:10:51.049384984 +0100
++++ trunk/src/prism2/driver/prism2_usb.c 2006-03-22 09:14:39.152708008 +0100
+@@ -313,7 +313,7 @@
+
+
+ struct usb_driver prism2_usb_driver = {
+-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,19))
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,19) && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16))
+ .owner = THIS_MODULE,
+ #endif
+ .name = "prism2_usb",
diff --git a/packages/wlan-ng/wlan-ng-modules_0.2.3.bb b/packages/wlan-ng/wlan-ng-modules_0.2.3.bb
new file mode 100644
index 0000000000..b702dc7c76
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules_0.2.3.bb
@@ -0,0 +1,7 @@
+include wlan-ng-modules.inc
+PR = "r1"
+
+SRC_URI += "ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/linux-wlan-ng-${PV}.tar.bz2 \
+ file://prism2sta_commsqual_defer.patch;patch=1"
+S = "${WORKDIR}/linux-wlan-ng-${PV}"
+
diff --git a/packages/wlan-ng/wlan-ng-modules_svn.bb b/packages/wlan-ng/wlan-ng-modules_svn.bb
new file mode 100644
index 0000000000..01457bbae3
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-modules_svn.bb
@@ -0,0 +1,7 @@
+include wlan-ng-modules.inc
+PR = "r0"
+PV = "0.23+svn${SRCDATE}"
+
+SRC_URI += "svn://svn.shaftnet.org/linux-wlan-ng;module=trunk "
+S = "${WORKDIR}/trunk"
+
diff --git a/packages/wlan-ng/wlan-ng-utils-0.2.3/.mtn2git_empty b/packages/wlan-ng/wlan-ng-utils-0.2.3/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-utils-0.2.3/.mtn2git_empty
diff --git a/packages/wlan-ng/wlan-ng-utils-0.2.3/config.in b/packages/wlan-ng/wlan-ng-utils-0.2.3/config.in
new file mode 100644
index 0000000000..be01488a92
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-utils-0.2.3/config.in
@@ -0,0 +1,21 @@
+WLAN_VERSION=0
+WLAN_PATCHLEVEL=2
+WLAN_SUBLEVEL=3
+WLAN_EXTRAVERSION=
+#LINUX_SRC=$(KERNEL_SOURCE)
+PCMCIA_SRC=.
+PREFIX=
+INST_EXEDIR=/sbin
+#TARGET_ROOT_ON_HOST=
+#RC_DIR=/etc/init.d
+PCMCIA_DIR=/etc/pcmcia
+SYSV_INIT=y
+INSTALL_DEPMOD=
+WLAN_DEBUG=n
+CROSS_COMPILE_ENABLED=n
+CROSS_COMPILE=
+HOST_COMPILE=
+PRISM2_PLX=y
+PRISM2_PCMCIA=y
+PRISM2_PCI=y
+PRISM2_USB=y
diff --git a/packages/wlan-ng/wlan-ng-utils-0.2.3/only-the-utils.patch b/packages/wlan-ng/wlan-ng-utils-0.2.3/only-the-utils.patch
new file mode 100644
index 0000000000..2a4369b931
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-utils-0.2.3/only-the-utils.patch
@@ -0,0 +1,30 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.2/src/Makefile~only-the-utils
++++ linux-wlan-ng-0.2.2/src/Makefile
+@@ -44,9 +44,9 @@
+
+ -include ../config.mk
+
+-DIRS=p80211 prism2 shared wlanctl wland nwepgen \
++DIRS=prism2 shared wlanctl wland nwepgen \
+ mkmeta wlancfg
+-ALL_DIRS=mkmeta p80211 prism2 shared wlanctl wland \
++ALL_DIRS=mkmeta prism2 shared wlanctl wland \
+ nwepgen wlancfg
+
+ ifneq ($(wildcard *.addon),)
+--- linux-wlan-ng-0.2.2/src/prism2/Makefile~only-the-utils
++++ linux-wlan-ng-0.2.2/src/prism2/Makefile
+@@ -44,7 +44,7 @@
+
+ -include ../../config.mk
+
+-DIRS=driver ridlist download
++DIRS=ridlist download
+
+ ifneq ($(wildcard *.addon),)
+ DIRS+=`cat *.addon`
diff --git a/packages/wlan-ng/wlan-ng-utils/.mtn2git_empty b/packages/wlan-ng/wlan-ng-utils/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-utils/.mtn2git_empty
diff --git a/packages/wlan-ng/wlan-ng-utils/config.in b/packages/wlan-ng/wlan-ng-utils/config.in
new file mode 100644
index 0000000000..cac5576f34
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-utils/config.in
@@ -0,0 +1,21 @@
+WLAN_VERSION=0
+WLAN_PATCHLEVEL=2
+WLAN_SUBLEVEL=3
+WLAN_EXTRAVERSION=svn
+#LINUX_SRC=$(KERNEL_SOURCE)
+PCMCIA_SRC=.
+PREFIX=
+INST_EXEDIR=/sbin
+#TARGET_ROOT_ON_HOST=
+#RC_DIR=/etc/init.d
+PCMCIA_DIR=/etc/pcmcia
+SYSV_INIT=y
+INSTALL_DEPMOD=
+WLAN_DEBUG=n
+CROSS_COMPILE_ENABLED=n
+CROSS_COMPILE=
+HOST_COMPILE=
+PRISM2_PLX=y
+PRISM2_PCMCIA=y
+PRISM2_PCI=y
+PRISM2_USB=y
diff --git a/packages/wlan-ng/wlan-ng-utils/only-the-utils.patch b/packages/wlan-ng/wlan-ng-utils/only-the-utils.patch
new file mode 100644
index 0000000000..5e0eb46cef
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-utils/only-the-utils.patch
@@ -0,0 +1,33 @@
+Index: linux-wlan-ng-devel/src/Makefile
+===================================================================
+--- linux-wlan-ng-devel.orig/src/Makefile 2006-02-21 11:41:23.000000000 +0100
++++ linux-wlan-ng-devel/src/Makefile 2006-02-21 13:15:30.836085080 +0100
+@@ -44,10 +44,11 @@
+
+ -include ../config.mk
+
+-DIRS=p80211 prism2 shared wlanctl nwepgen \
+- mkmeta wlancfg
+-ALL_DIRS=mkmeta p80211 prism2 shared wlanctl \
+- nwepgen wlancfg
++
++DIRS=prism2 shared wlanctl nwepgen \
++ mkmeta wlancfg
++ALL_DIRS=mkmeta prism2 shared wlanctl \
++ nwepgen wlancfg
+
+ ifneq ($(wildcard *.addon),)
+ DIRS+=`cat *.addon`
+Index: linux-wlan-ng-devel/src/prism2/Makefile
+===================================================================
+--- linux-wlan-ng-devel.orig/src/prism2/Makefile 2006-02-21 11:41:23.000000000 +0100
++++ linux-wlan-ng-devel/src/prism2/Makefile 2006-02-21 13:14:43.248319520 +0100
+@@ -44,7 +44,7 @@
+
+ -include ../../config.mk
+
+-DIRS=driver ridlist download
++DIRS=ridlist download
+
+ ifneq ($(wildcard *.addon),)
+ DIRS+=`cat *.addon`
diff --git a/packages/wlan-ng/wlan-ng-utils/wlan.agent b/packages/wlan-ng/wlan-ng-utils/wlan.agent
new file mode 100644
index 0000000000..d7124f3816
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-utils/wlan.agent
@@ -0,0 +1,105 @@
+#!/bin/sh
+#
+# p80211/wlan hotplug policy agent.
+#
+# wlan hotplug params include:
+#
+# ACTION=%s [register|remove|shutdown|startup|suspend|resume]
+# INTERFACE=%s
+# NSDNAME=%s
+#
+
+cd /etc/hotplug
+# must have ./ here or busybox shell barfs
+. ./hotplug.functions
+
+#DEBUG=yes export DEBUG
+
+if [ "$INTERFACE" = "" ]; then
+ mesg Bad WLAN invocation: \$INTERFACE is not set
+ exit 1
+fi
+
+if [ "$NSDNAME" = "" ]; then
+ mesg Bad WLAN invocation: \$NSDNAME is not set
+ exit 1
+fi
+
+debug_mesg WLAN $ACTION on $INTERFACE \($NSDNAME\)
+
+if [ "$NSDNAME" = "prism2_cs" ] ; then
+ mesg "WLAN Hotplug bypassed for pcmcia"
+ exit 0
+fi
+
+# load up the shared scripts
+if [ ! -f /etc/wlan/shared ] ; then
+ mesg "/etc/wlan/shared not present, aborting"
+ exit 1
+fi
+
+ECHO=mesg
+. /etc/wlan/shared
+
+case $ACTION in
+'register'|'resume')
+ eval 'WLAN_ENABLE=$ENABLE_'$INTERFACE
+ if ! is_true $WLAN_ENABLE ; then
+ mesg "WLAN $ACTION - interface $INTERFACE not enabled, aborting"
+ exit 1
+ fi
+ debug_mesg WLAN $INTERFACE registered.
+ wlan_bring_it_up $INTERFACE
+ if [ $? = 0 ] ; then
+ mesg WLAN $INTERFACE brought up successfully.
+ if [ -x /etc/wlan/network ] ; then
+ mesg "WLAN bringing up layer 3+ with /etc/wlan/network"
+ /etc/wlan/network start $INTERFACE
+ elif [ -x /etc/wlan/pre-ifup ] ; then
+ # pre-ifup is presumed to call ifup if it
+ # wants to...it may choose to skip it.
+ mesg "WLAN bringing up layer 3+ with /etc/wlan/pre-ifup"
+ /etc/wlan/pre-ifup $INTERFACE
+ else
+ mesg "WLAN bringing up layer 3+ with /sbin/ifup"
+ /sbin/ifup $INTERFACE
+ fi
+ else
+ mesg WLAN Could not bring up $INTERFACE
+ exit 1
+ fi
+ # eventually invoke net.agent on $INTERFACE w/ REGISTER
+;;
+'remove'|'suspend')
+ debug_mesg WLAN $INTERFACE removed.
+ eval 'WLAN_ENABLE=$ENABLE_'$INTERFACE
+ if ! is_true $WLAN_ENABLE ; then
+ mesg "WLAN $ACTION - interface $INTERFACE not enabled, aborting"
+ exit 1
+ fi
+ if [ -x /etc/wlan/network ] ; then
+ mesg "WLAN taking down layer 3+ with /etc/wlan/network"
+ /etc/wlan/network stop $INTERFACE
+ elif [ -x /etc/wlan/post-ifdown ] ; then
+ # post-ifdown is presumed to call ifdown if it
+ # wants to...it may choose to skip it.
+ mesg "WLAN taking down layer 3+ with /etc/wlan/post-ifdown"
+ /etc/wlan/post-ifdown $INTERFACE
+ else
+ mesg "WLAN taking down layer 3+ with /sbin/ifdown"
+ /sbin/ifdown $INTERFACE
+ fi
+ wlan_disable $INTERFACE
+;;
+'startup')
+ # kick off wland.
+ debug_mesg WLAN p80211 starting!
+;;
+'shutdown')
+ debug_mesg WLAN p80211 shutting down!
+;;
+*)
+ debug_mesg WLAN $ACTION event not supported
+ exit 1 ;;
+
+esac
diff --git a/packages/wlan-ng/wlan-ng-utils_0.2.3.bb b/packages/wlan-ng/wlan-ng-utils_0.2.3.bb
new file mode 100644
index 0000000000..17cf3cab83
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-utils_0.2.3.bb
@@ -0,0 +1,68 @@
+DESCRIPTION = "linux-wlan-ng userland utilities"
+HOMEPAGE = "http://www.linux-wlan.org"
+SECTION = "kernel/userland"
+DEPENDS = "virtual/kernel"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/linux-wlan-ng-${PV}.tar.bz2 \
+ file://only-the-utils.patch;patch=1 \
+ file://scripts-makefile-hostcc.patch;patch=1 \
+ file://pcmciasrc.patch;patch=1 \
+ file://wlan-ng.modutils \
+ file://wlan.agent \
+ file://usbctl \
+ file://resume \
+ file://pre-up \
+ file://post-down \
+ file://config.in"
+S = "${WORKDIR}/linux-wlan-ng-${PV}"
+
+# yeah, it's kind of backwards, but otherwise the config step will fail
+inherit module
+
+do_configure() {
+ install -m 0655 ${WORKDIR}/config.in ${S}/config.in
+ oe_runmake LINUX_SRC=${KERNEL_SOURCE} auto_config
+
+ if grep CONFIG_PCMCIA=[ym] ${STAGING_KERNEL_DIR}/kernel-config; then
+ echo "PRISM2_PCMCIA=y" >> config.mk
+ echo "WLAN_KERN_PCMCIA=y" >> config.mk
+ fi
+ echo "TARGET_ROOT_ON_HOST=${D}/" >> config.mk
+ echo "FIRMWARE_DIR=/etc/wlan" >> config.mk
+ echo "TARGET_MODDIR=${D}/lib/modules/${KERNEL_VERSION}/wlan-ng" >> config.mk
+ echo "TARGET_INST_EXEDIR=${D}/sbin" >> config.mk
+ echo "RC_DIR=${sysconfdir}/" >> config.mk
+ echo "CC=${CC}" >> config.mk
+ echo "LD=${LD}" >> config.mk
+
+ # Shut up, you broken buildsystem
+ install -m 0655 config.mk src/prism2/config.mk
+ install -d src/prism2/driver/include
+ ln -sf ${S}/src/include/wlan src/prism2/driver/include/wlan
+ ln -sf ${S}/src/prism2/include/prism2 src/prism2/driver/include/prism2
+}
+
+do_compile() {
+ oe_runmake all
+}
+
+do_install() {
+ oe_runmake install
+ mkdir -p ${D}${sysconfdir}/modutils/
+ mkdir -p ${D}${sysconfdir}/hotplug/
+ mkdir -p ${D}${base_sbindir}/
+ install -m 0644 ${WORKDIR}/wlan-ng.modutils ${D}${sysconfdir}/modutils/wlan-ng.conf
+ install -m 0755 ${WORKDIR}/wlan.agent ${D}${sysconfdir}/hotplug/wlan.agent
+ install -d ${D}${sysconfdir}/network/if-pre-up.d
+ install -m 0755 ${WORKDIR}/pre-up ${D}${sysconfdir}/network/if-pre-up.d/wlan-ng
+ install -d ${D}${sysconfdir}/network/if-post-down.d
+ install -m 0755 ${WORKDIR}/post-down ${D}${sysconfdir}/network/if-post-down.d/wlan-ng
+ install -d ${D}${sysconfdir}/apm/resume.d
+ install -m 0755 ${WORKDIR}/resume ${D}${sysconfdir}/apm/resume.d/wlan-ng
+ install -m 0755 ${WORKDIR}/usbctl ${D}${base_sbindir}/usbctl
+ install -d ${D}${mandir}
+}
+
+FILES_${PN} = "/etc /sbin"
diff --git a/packages/wlan-ng/wlan-ng-utils_svn.bb b/packages/wlan-ng/wlan-ng-utils_svn.bb
new file mode 100644
index 0000000000..b57a0dffd5
--- /dev/null
+++ b/packages/wlan-ng/wlan-ng-utils_svn.bb
@@ -0,0 +1,69 @@
+DESCRIPTION = "linux-wlan-ng userland utilities"
+HOMEPAGE = "http://www.linux-wlan.org"
+SECTION = "kernel/userland"
+DEPENDS = "virtual/kernel"
+LICENSE = "GPL"
+PR = "r0"
+PV = "0.23+svn${SRCDATE}"
+
+SRC_URI = "svn://svn.shaftnet.org/linux-wlan-ng;module=trunk \
+ file://only-the-utils.patch;patch=1 \
+ file://scripts-makefile-hostcc.patch;patch=1 \
+ file://pcmciasrc.patch;patch=1 \
+ file://wlan-ng.modutils \
+ file://wlan.agent \
+ file://usbctl \
+ file://resume \
+ file://pre-up \
+ file://post-down \
+ file://config.in"
+S = "${WORKDIR}/trunk"
+
+# yeah, it's kind of backwards, but otherwise the config step will fail
+inherit module
+
+do_configure() {
+ install -m 0655 ${WORKDIR}/config.in ${S}/config.in
+ oe_runmake LINUX_SRC=${KERNEL_SOURCE} auto_config
+
+ if grep CONFIG_PCMCIA=[ym] ${STAGING_KERNEL_DIR}/kernel-config; then
+ echo "PRISM2_PCMCIA=y" >> config.mk
+ echo "WLAN_KERN_PCMCIA=y" >> config.mk
+ fi
+ echo "TARGET_ROOT_ON_HOST=${D}/" >> config.mk
+ echo "FIRMWARE_DIR=/etc/wlan" >> config.mk
+ echo "TARGET_MODDIR=${D}/lib/modules/${KERNEL_VERSION}/wlan-ng" >> config.mk
+ echo "TARGET_INST_EXEDIR=${D}/sbin" >> config.mk
+ echo "RC_DIR=${sysconfdir}/" >> config.mk
+ echo "CC=${CC}" >> config.mk
+ echo "LD=${LD}" >> config.mk
+
+ # Shut up, you broken buildsystem
+ install -m 0655 config.mk src/prism2/config.mk
+ install -d src/prism2/driver/include
+ ln -sf ${S}/src/include/wlan src/prism2/driver/include/wlan
+ ln -sf ${S}/src/prism2/include/prism2 src/prism2/driver/include/prism2
+}
+
+do_compile() {
+ oe_runmake all
+}
+
+do_install() {
+ oe_runmake install
+ mkdir -p ${D}${sysconfdir}/modutils/
+ mkdir -p ${D}${sysconfdir}/hotplug/
+ mkdir -p ${D}${base_sbindir}/
+ install -m 0644 ${WORKDIR}/wlan-ng.modutils ${D}${sysconfdir}/modutils/wlan-ng.conf
+ install -m 0755 ${WORKDIR}/wlan.agent ${D}${sysconfdir}/hotplug/wlan.agent
+ install -d ${D}${sysconfdir}/network/if-pre-up.d
+ install -m 0755 ${WORKDIR}/pre-up ${D}${sysconfdir}/network/if-pre-up.d/wlan-ng
+ install -d ${D}${sysconfdir}/network/if-post-down.d
+ install -m 0755 ${WORKDIR}/post-down ${D}${sysconfdir}/network/if-post-down.d/wlan-ng
+ install -d ${D}${sysconfdir}/apm/resume.d
+ install -m 0755 ${WORKDIR}/resume ${D}${sysconfdir}/apm/resume.d/wlan-ng
+ install -m 0755 ${WORKDIR}/usbctl ${D}${base_sbindir}/usbctl
+ install -d ${D}${mandir}
+}
+
+FILES_${PN} = "/etc /sbin"