summaryrefslogtreecommitdiff
path: root/recipes/zd1211
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/zd1211
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
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>
Diffstat (limited to 'recipes/zd1211')
-rw-r--r--recipes/zd1211/files/makefile-unslung.patch48
-rw-r--r--recipes/zd1211/files/unslung-iwpriv-hack.patch19
-rw-r--r--recipes/zd1211/files/unslung-writel-logging.patch14
-rw-r--r--recipes/zd1211/zd1211-firmware_1.3.bb16
-rw-r--r--recipes/zd1211/zd1211-firmware_1.4.bb16
-rw-r--r--recipes/zd1211/zd1211-r77/makefile-unslung.patch48
-rw-r--r--recipes/zd1211/zd1211-r77/makefile.patch47
-rw-r--r--recipes/zd1211/zd1211-r77/unslung-iwpriv-hack.patch19
-rw-r--r--recipes/zd1211/zd1211-r77/unslung-writel-logging.patch14
-rw-r--r--recipes/zd1211/zd1211-r83/makefile-unslung.patch48
-rw-r--r--recipes/zd1211/zd1211-r83/makefile.patch47
-rw-r--r--recipes/zd1211/zd1211-r83/unslung-iwpriv-hack.patch19
-rw-r--r--recipes/zd1211/zd1211-r83/unslung-writel-logging.patch14
-rw-r--r--recipes/zd1211/zd1211-r85/makefile-unslung.patch48
-rw-r--r--recipes/zd1211/zd1211-r85/makefile.patch47
-rw-r--r--recipes/zd1211/zd1211-r85/unslung-iwpriv-hack.patch19
-rw-r--r--recipes/zd1211/zd1211-r85/unslung-writel-logging.patch14
-rw-r--r--recipes/zd1211/zd1211_r77.bb35
-rw-r--r--recipes/zd1211/zd1211_r83.bb33
-rw-r--r--recipes/zd1211/zd1211_r85.bb33
20 files changed, 598 insertions, 0 deletions
diff --git a/recipes/zd1211/files/makefile-unslung.patch b/recipes/zd1211/files/makefile-unslung.patch
new file mode 100644
index 0000000000..4edcbb7a9d
--- /dev/null
+++ b/recipes/zd1211/files/makefile-unslung.patch
@@ -0,0 +1,48 @@
+--- zd1211-driver-r77/Makefile.orig 2006-02-25 16:04:26.000000000 +0100
++++ zd1211-driver-r77/Makefile 2006-02-25 17:11:27.000000000 +0100
+@@ -4,24 +4,23 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
+-rM=rm -f -r
++CC ?= gcc
++CPP ?= g++
++LD ?= ld
+
+-MODPATH := /lib/modules/$(shell uname -r)
++MODPATH ?= /lib/modules/$(shell uname -r)
+
+ # if the kernel is 2.6.x, turn on this
+-KERN_26=y
++#KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+ ZD1211REV_B=0
+
+-SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++SRC_DIR=src
++DEFINES ?=-D__KERNEL__ -DMODULE=1
+
+
+
+@@ -227,9 +226,9 @@
+ depmod -a
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
diff --git a/recipes/zd1211/files/unslung-iwpriv-hack.patch b/recipes/zd1211/files/unslung-iwpriv-hack.patch
new file mode 100644
index 0000000000..64f3806140
--- /dev/null
+++ b/recipes/zd1211/files/unslung-iwpriv-hack.patch
@@ -0,0 +1,19 @@
+--- zd1211-driver-r74/src/zd1205.c~ 2006-04-16 09:42:15.000000000 -0500
++++ zd1211-driver-r74/src/zd1205.c 2006-04-27 12:29:03.000000000 -0500
+@@ -349,8 +349,14 @@
+ { SIOCIWFIRSTPRIV + 0xA, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "connect" },
+ { SIOCIWFIRSTPRIV + 0xB, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_mac_mode" },
+ { SIOCIWFIRSTPRIV + 0xC, 0, IW_PRIV_TYPE_CHAR | 12, "get_mac_mode" },
+- { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
+- { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// HACK HACK HACK - The following two lines are commented out in order to make
++// iwpriv work on Unslung (2.4.22 kernel) - this kernel's Wireless Extensions
++// can only handle up to 16 iwpriv entries in this structure. Yes, the correct
++// fix is to patch the Wireless Extensions in the Unslung kernel. This hack
++// should be removed when that's actually done. ~mwester 27APR2006
++// { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
++// { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// End of HACK
+ { SIOCIWFIRSTPRIV + 0xF, 0, IW_PRIV_TYPE_CHAR | 14, "get_Region" },
+ { SIOCIWFIRSTPRIV + 0x9,IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_Region" },
+ };
diff --git a/recipes/zd1211/files/unslung-writel-logging.patch b/recipes/zd1211/files/unslung-writel-logging.patch
new file mode 100644
index 0000000000..00d54d7d68
--- /dev/null
+++ b/recipes/zd1211/files/unslung-writel-logging.patch
@@ -0,0 +1,14 @@
+--- zd1211-driver-r74/src/zd1211.c~ 2006-04-09 12:28:06.000000000 -0500
++++ zd1211-driver-r74/src/zd1211.c 2006-04-27 12:38:55.000000000 -0500
+@@ -652,7 +652,10 @@
+ count++;
+
+ if (count > 5) {
+- printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious");
++// You are going to see this often enough on Unslung that we might as well put it in
++// the syslog and fix it so it has a nl on the end. Sigh. ~mwester, 27APR06
++//
++ printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious\n");
+ break;
+ }
+ }
diff --git a/recipes/zd1211/zd1211-firmware_1.3.bb b/recipes/zd1211/zd1211-firmware_1.3.bb
new file mode 100644
index 0000000000..372135d471
--- /dev/null
+++ b/recipes/zd1211/zd1211-firmware_1.3.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "ZyDAS ZD1211 Firmware"
+HOMEPAGE = "http://zd1211.ath.cx/"
+SECTION = "net"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/zd1211/zd1211-firmware${PV}.tar.bz2"
+
+S = "${WORKDIR}/${PN}"
+
+do_install() {
+ install -d -m 0755 ${D}/lib/firmware/zd1211
+ install -m 0644 ${S}/zd1211* ${D}/lib/firmware/zd1211/
+}
+
+FILES_${PN} = "/lib/firmware"
diff --git a/recipes/zd1211/zd1211-firmware_1.4.bb b/recipes/zd1211/zd1211-firmware_1.4.bb
new file mode 100644
index 0000000000..b32ff2101b
--- /dev/null
+++ b/recipes/zd1211/zd1211-firmware_1.4.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "ZyDAS ZD1211 Firmware"
+HOMEPAGE = "http://zd1211.ath.cx/"
+SECTION = "net"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/zd1211/zd1211-firmware-${PV}.tar.bz2"
+
+S = "${WORKDIR}/${PN}"
+
+do_install() {
+ install -d -m 0755 ${D}/lib/firmware/zd1211
+ install -m 0644 ${S}/zd1211* ${D}/lib/firmware/zd1211/
+}
+
+FILES_${PN} = "/lib/firmware"
diff --git a/recipes/zd1211/zd1211-r77/makefile-unslung.patch b/recipes/zd1211/zd1211-r77/makefile-unslung.patch
new file mode 100644
index 0000000000..4edcbb7a9d
--- /dev/null
+++ b/recipes/zd1211/zd1211-r77/makefile-unslung.patch
@@ -0,0 +1,48 @@
+--- zd1211-driver-r77/Makefile.orig 2006-02-25 16:04:26.000000000 +0100
++++ zd1211-driver-r77/Makefile 2006-02-25 17:11:27.000000000 +0100
+@@ -4,24 +4,23 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
+-rM=rm -f -r
++CC ?= gcc
++CPP ?= g++
++LD ?= ld
+
+-MODPATH := /lib/modules/$(shell uname -r)
++MODPATH ?= /lib/modules/$(shell uname -r)
+
+ # if the kernel is 2.6.x, turn on this
+-KERN_26=y
++#KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+ ZD1211REV_B=0
+
+-SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++SRC_DIR=src
++DEFINES ?=-D__KERNEL__ -DMODULE=1
+
+
+
+@@ -227,9 +226,9 @@
+ depmod -a
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
diff --git a/recipes/zd1211/zd1211-r77/makefile.patch b/recipes/zd1211/zd1211-r77/makefile.patch
new file mode 100644
index 0000000000..ed111e07ef
--- /dev/null
+++ b/recipes/zd1211/zd1211-r77/makefile.patch
@@ -0,0 +1,47 @@
+--- zd1211-driver-r77/Makefile.orig 2006-02-25 16:04:26.000000000 +0100
++++ zd1211-driver-r77/Makefile 2006-02-25 17:11:27.000000000 +0100
+@@ -4,24 +4,23 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
+-rM=rm -f -r
++CC ?= gcc
++CPP ?= g++
++LD ?= ld
+
+-MODPATH := /lib/modules/$(shell uname -r)
++MODPATH ?= /lib/modules/$(shell uname -r)
+
+ # if the kernel is 2.6.x, turn on this
+ KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+ ZD1211REV_B=0
+
+-SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++SRC_DIR=src
++DEFINES ?=-D__KERNEL__ -DMODULE=1
+
+
+
+@@ -227,9 +226,9 @@
+ depmod -a
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
diff --git a/recipes/zd1211/zd1211-r77/unslung-iwpriv-hack.patch b/recipes/zd1211/zd1211-r77/unslung-iwpriv-hack.patch
new file mode 100644
index 0000000000..64f3806140
--- /dev/null
+++ b/recipes/zd1211/zd1211-r77/unslung-iwpriv-hack.patch
@@ -0,0 +1,19 @@
+--- zd1211-driver-r74/src/zd1205.c~ 2006-04-16 09:42:15.000000000 -0500
++++ zd1211-driver-r74/src/zd1205.c 2006-04-27 12:29:03.000000000 -0500
+@@ -349,8 +349,14 @@
+ { SIOCIWFIRSTPRIV + 0xA, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "connect" },
+ { SIOCIWFIRSTPRIV + 0xB, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_mac_mode" },
+ { SIOCIWFIRSTPRIV + 0xC, 0, IW_PRIV_TYPE_CHAR | 12, "get_mac_mode" },
+- { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
+- { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// HACK HACK HACK - The following two lines are commented out in order to make
++// iwpriv work on Unslung (2.4.22 kernel) - this kernel's Wireless Extensions
++// can only handle up to 16 iwpriv entries in this structure. Yes, the correct
++// fix is to patch the Wireless Extensions in the Unslung kernel. This hack
++// should be removed when that's actually done. ~mwester 27APR2006
++// { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
++// { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// End of HACK
+ { SIOCIWFIRSTPRIV + 0xF, 0, IW_PRIV_TYPE_CHAR | 14, "get_Region" },
+ { SIOCIWFIRSTPRIV + 0x9,IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_Region" },
+ };
diff --git a/recipes/zd1211/zd1211-r77/unslung-writel-logging.patch b/recipes/zd1211/zd1211-r77/unslung-writel-logging.patch
new file mode 100644
index 0000000000..00d54d7d68
--- /dev/null
+++ b/recipes/zd1211/zd1211-r77/unslung-writel-logging.patch
@@ -0,0 +1,14 @@
+--- zd1211-driver-r74/src/zd1211.c~ 2006-04-09 12:28:06.000000000 -0500
++++ zd1211-driver-r74/src/zd1211.c 2006-04-27 12:38:55.000000000 -0500
+@@ -652,7 +652,10 @@
+ count++;
+
+ if (count > 5) {
+- printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious");
++// You are going to see this often enough on Unslung that we might as well put it in
++// the syslog and fix it so it has a nl on the end. Sigh. ~mwester, 27APR06
++//
++ printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious\n");
+ break;
+ }
+ }
diff --git a/recipes/zd1211/zd1211-r83/makefile-unslung.patch b/recipes/zd1211/zd1211-r83/makefile-unslung.patch
new file mode 100644
index 0000000000..bc189e823f
--- /dev/null
+++ b/recipes/zd1211/zd1211-r83/makefile-unslung.patch
@@ -0,0 +1,48 @@
+--- zd1211-driver-r83.orig/Makefile 2006-07-09 04:59:42.000000000 -0500
++++ zd1211-driver-r83/Makefile 2006-10-21 16:27:41.000000000 -0500
+@@ -4,25 +4,25 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
++CC ?= gcc
++CPP ?= g++
++LD ?= ld
+ rM=rm -f -r
+
+ VERSION := $(shell uname -r)
+-MODPATH := /lib/modules/$(VERSION)
++MODPATH ?= /lib/modules/$(VERSION)
+
+ # if the kernel is 2.6.x, turn on this
+-KERN_26=y
++#KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+ ZD1211REV_B=0
+
+ SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++DEFINES ?= -D__KERNEL__ -DMODULE=1
+
+
+
+@@ -228,9 +228,9 @@
+ depmod -a $(VERSION)
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
diff --git a/recipes/zd1211/zd1211-r83/makefile.patch b/recipes/zd1211/zd1211-r83/makefile.patch
new file mode 100644
index 0000000000..adc2bd416d
--- /dev/null
+++ b/recipes/zd1211/zd1211-r83/makefile.patch
@@ -0,0 +1,47 @@
+--- zd1211-driver-r83/Makefile.orig 2006-09-02 16:00:00.000000000 +0200
++++ zd1211-driver-r83/Makefile 2006-09-02 16:01:57.000000000 +0200
+@@ -4,10 +4,10 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
+-rM=rm -f -r
++#CC=gcc
++#CPP=g++
++#LD=ld
++#rM=rm -f -r
+
+ VERSION := $(shell uname -r)
+ MODPATH := /lib/modules/$(VERSION)
+@@ -15,14 +15,14 @@
+ # if the kernel is 2.6.x, turn on this
+ KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+ ZD1211REV_B=0
+
+ SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++DEFINES ?= -D__KERNEL__ -DMODULE=1
+
+
+
+@@ -228,9 +228,9 @@
+ depmod -a $(VERSION)
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
diff --git a/recipes/zd1211/zd1211-r83/unslung-iwpriv-hack.patch b/recipes/zd1211/zd1211-r83/unslung-iwpriv-hack.patch
new file mode 100644
index 0000000000..64f3806140
--- /dev/null
+++ b/recipes/zd1211/zd1211-r83/unslung-iwpriv-hack.patch
@@ -0,0 +1,19 @@
+--- zd1211-driver-r74/src/zd1205.c~ 2006-04-16 09:42:15.000000000 -0500
++++ zd1211-driver-r74/src/zd1205.c 2006-04-27 12:29:03.000000000 -0500
+@@ -349,8 +349,14 @@
+ { SIOCIWFIRSTPRIV + 0xA, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "connect" },
+ { SIOCIWFIRSTPRIV + 0xB, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_mac_mode" },
+ { SIOCIWFIRSTPRIV + 0xC, 0, IW_PRIV_TYPE_CHAR | 12, "get_mac_mode" },
+- { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
+- { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// HACK HACK HACK - The following two lines are commented out in order to make
++// iwpriv work on Unslung (2.4.22 kernel) - this kernel's Wireless Extensions
++// can only handle up to 16 iwpriv entries in this structure. Yes, the correct
++// fix is to patch the Wireless Extensions in the Unslung kernel. This hack
++// should be removed when that's actually done. ~mwester 27APR2006
++// { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
++// { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// End of HACK
+ { SIOCIWFIRSTPRIV + 0xF, 0, IW_PRIV_TYPE_CHAR | 14, "get_Region" },
+ { SIOCIWFIRSTPRIV + 0x9,IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_Region" },
+ };
diff --git a/recipes/zd1211/zd1211-r83/unslung-writel-logging.patch b/recipes/zd1211/zd1211-r83/unslung-writel-logging.patch
new file mode 100644
index 0000000000..00d54d7d68
--- /dev/null
+++ b/recipes/zd1211/zd1211-r83/unslung-writel-logging.patch
@@ -0,0 +1,14 @@
+--- zd1211-driver-r74/src/zd1211.c~ 2006-04-09 12:28:06.000000000 -0500
++++ zd1211-driver-r74/src/zd1211.c 2006-04-27 12:38:55.000000000 -0500
+@@ -652,7 +652,10 @@
+ count++;
+
+ if (count > 5) {
+- printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious");
++// You are going to see this often enough on Unslung that we might as well put it in
++// the syslog and fix it so it has a nl on the end. Sigh. ~mwester, 27APR06
++//
++ printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious\n");
+ break;
+ }
+ }
diff --git a/recipes/zd1211/zd1211-r85/makefile-unslung.patch b/recipes/zd1211/zd1211-r85/makefile-unslung.patch
new file mode 100644
index 0000000000..bc189e823f
--- /dev/null
+++ b/recipes/zd1211/zd1211-r85/makefile-unslung.patch
@@ -0,0 +1,48 @@
+--- zd1211-driver-r83.orig/Makefile 2006-07-09 04:59:42.000000000 -0500
++++ zd1211-driver-r83/Makefile 2006-10-21 16:27:41.000000000 -0500
+@@ -4,25 +4,25 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
++CC ?= gcc
++CPP ?= g++
++LD ?= ld
+ rM=rm -f -r
+
+ VERSION := $(shell uname -r)
+-MODPATH := /lib/modules/$(VERSION)
++MODPATH ?= /lib/modules/$(VERSION)
+
+ # if the kernel is 2.6.x, turn on this
+-KERN_26=y
++#KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+ ZD1211REV_B=0
+
+ SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++DEFINES ?= -D__KERNEL__ -DMODULE=1
+
+
+
+@@ -228,9 +228,9 @@
+ depmod -a $(VERSION)
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
diff --git a/recipes/zd1211/zd1211-r85/makefile.patch b/recipes/zd1211/zd1211-r85/makefile.patch
new file mode 100644
index 0000000000..adc2bd416d
--- /dev/null
+++ b/recipes/zd1211/zd1211-r85/makefile.patch
@@ -0,0 +1,47 @@
+--- zd1211-driver-r83/Makefile.orig 2006-09-02 16:00:00.000000000 +0200
++++ zd1211-driver-r83/Makefile 2006-09-02 16:01:57.000000000 +0200
+@@ -4,10 +4,10 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
+-rM=rm -f -r
++#CC=gcc
++#CPP=g++
++#LD=ld
++#rM=rm -f -r
+
+ VERSION := $(shell uname -r)
+ MODPATH := /lib/modules/$(VERSION)
+@@ -15,14 +15,14 @@
+ # if the kernel is 2.6.x, turn on this
+ KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+ ZD1211REV_B=0
+
+ SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++DEFINES ?= -D__KERNEL__ -DMODULE=1
+
+
+
+@@ -228,9 +228,9 @@
+ depmod -a $(VERSION)
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
diff --git a/recipes/zd1211/zd1211-r85/unslung-iwpriv-hack.patch b/recipes/zd1211/zd1211-r85/unslung-iwpriv-hack.patch
new file mode 100644
index 0000000000..64f3806140
--- /dev/null
+++ b/recipes/zd1211/zd1211-r85/unslung-iwpriv-hack.patch
@@ -0,0 +1,19 @@
+--- zd1211-driver-r74/src/zd1205.c~ 2006-04-16 09:42:15.000000000 -0500
++++ zd1211-driver-r74/src/zd1205.c 2006-04-27 12:29:03.000000000 -0500
+@@ -349,8 +349,14 @@
+ { SIOCIWFIRSTPRIV + 0xA, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "connect" },
+ { SIOCIWFIRSTPRIV + 0xB, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_mac_mode" },
+ { SIOCIWFIRSTPRIV + 0xC, 0, IW_PRIV_TYPE_CHAR | 12, "get_mac_mode" },
+- { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
+- { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// HACK HACK HACK - The following two lines are commented out in order to make
++// iwpriv work on Unslung (2.4.22 kernel) - this kernel's Wireless Extensions
++// can only handle up to 16 iwpriv entries in this structure. Yes, the correct
++// fix is to patch the Wireless Extensions in the Unslung kernel. This hack
++// should be removed when that's actually done. ~mwester 27APR2006
++// { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
++// { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// End of HACK
+ { SIOCIWFIRSTPRIV + 0xF, 0, IW_PRIV_TYPE_CHAR | 14, "get_Region" },
+ { SIOCIWFIRSTPRIV + 0x9,IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_Region" },
+ };
diff --git a/recipes/zd1211/zd1211-r85/unslung-writel-logging.patch b/recipes/zd1211/zd1211-r85/unslung-writel-logging.patch
new file mode 100644
index 0000000000..00d54d7d68
--- /dev/null
+++ b/recipes/zd1211/zd1211-r85/unslung-writel-logging.patch
@@ -0,0 +1,14 @@
+--- zd1211-driver-r74/src/zd1211.c~ 2006-04-09 12:28:06.000000000 -0500
++++ zd1211-driver-r74/src/zd1211.c 2006-04-27 12:38:55.000000000 -0500
+@@ -652,7 +652,10 @@
+ count++;
+
+ if (count > 5) {
+- printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious");
++// You are going to see this often enough on Unslung that we might as well put it in
++// the syslog and fix it so it has a nl on the end. Sigh. ~mwester, 27APR06
++//
++ printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious\n");
+ break;
+ }
+ }
diff --git a/recipes/zd1211/zd1211_r77.bb b/recipes/zd1211/zd1211_r77.bb
new file mode 100644
index 0000000000..4755f01538
--- /dev/null
+++ b/recipes/zd1211/zd1211_r77.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Driver for zd1211 family of wireless USB Dongles"
+PRIORITY = "optional"
+SECTION = "kernel/modules"
+LICENSE = "GPL"
+PR = "r3"
+RDEPENDS = "wireless-tools"
+
+SRC_URI = "http://zd1211.ath.cx/download/zd1211-driver-${PV}.tgz \
+ file://makefile.patch;patch=1 \
+ "
+
+SRC_URI_unslung = "http://zd1211.ath.cx/download/zd1211-driver-${PV}.tgz \
+ file://makefile-unslung.patch;patch=1 \
+ file://unslung-iwpriv-hack.patch;patch=1 \
+ file://unslung-writel-logging.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/zd1211-driver-${PV}"
+
+inherit module
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+ oe_runmake 'MODPATH=${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+ 'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+ 'KDIR=${STAGING_KERNEL_DIR}' \
+ 'KERNEL_VERSION=${KERNEL_VERSION}' \
+ 'CC=${KERNEL_CC}' \
+ 'LD=${KERNEL_LD}'
+}
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+ install -m 0644 ${S}/zd1211*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+}
diff --git a/recipes/zd1211/zd1211_r83.bb b/recipes/zd1211/zd1211_r83.bb
new file mode 100644
index 0000000000..d0d875c842
--- /dev/null
+++ b/recipes/zd1211/zd1211_r83.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Driver for zd1211 family of wireless USB Dongles"
+HOMEPAGE = "http://zd1211.ath.cx/"
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+LICENSE = "GPL"
+RDEPENDS = "wireless-tools"
+PR = "r1"
+
+SRC_URI = "http://zd1211.ath.cx/download/zd1211-driver-${PV}.tgz \
+ file://makefile.patch;patch=1"
+SRC_URI_unslung = "http://zd1211.ath.cx/download/zd1211-driver-${PV}.tgz \
+ file://makefile-unslung.patch;patch=1 \
+ file://unslung-iwpriv-hack.patch;patch=1 \
+ file://unslung-writel-logging.patch;patch=1"
+
+S = "${WORKDIR}/zd1211-driver-${PV}"
+
+inherit module
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+ oe_runmake 'MODPATH={D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+ 'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+ 'KDIR=${STAGING_KERNEL_DIR}' \
+ 'KERNEL_VERSION=${KERNEL_VERSION}' \
+ 'CC=${KERNEL_CC}' \
+ 'LD=${KERNEL_LD}'
+}
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+ install -m 0644 ${S}/zd1211*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+}
diff --git a/recipes/zd1211/zd1211_r85.bb b/recipes/zd1211/zd1211_r85.bb
new file mode 100644
index 0000000000..d0d875c842
--- /dev/null
+++ b/recipes/zd1211/zd1211_r85.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Driver for zd1211 family of wireless USB Dongles"
+HOMEPAGE = "http://zd1211.ath.cx/"
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+LICENSE = "GPL"
+RDEPENDS = "wireless-tools"
+PR = "r1"
+
+SRC_URI = "http://zd1211.ath.cx/download/zd1211-driver-${PV}.tgz \
+ file://makefile.patch;patch=1"
+SRC_URI_unslung = "http://zd1211.ath.cx/download/zd1211-driver-${PV}.tgz \
+ file://makefile-unslung.patch;patch=1 \
+ file://unslung-iwpriv-hack.patch;patch=1 \
+ file://unslung-writel-logging.patch;patch=1"
+
+S = "${WORKDIR}/zd1211-driver-${PV}"
+
+inherit module
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+ oe_runmake 'MODPATH={D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+ 'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+ 'KDIR=${STAGING_KERNEL_DIR}' \
+ 'KERNEL_VERSION=${KERNEL_VERSION}' \
+ 'CC=${KERNEL_CC}' \
+ 'LD=${KERNEL_LD}'
+}
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+ install -m 0644 ${S}/zd1211*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+}