zd1211: Fix compilation issues on kernels >=2.6.13
authorOyvind Repvik <nail@nslu2-linux.org>
Thu, 6 Oct 2005 01:55:35 +0000 (01:55 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Thu, 6 Oct 2005 01:55:35 +0000 (01:55 +0000)
Add iwconfig rate patch
remove old cvs version that won't compile

packages/zd1211/zd1211-20050315/.mtn2git_empty [deleted file]
packages/zd1211/zd1211-20050315/Makefile.patch [deleted file]
packages/zd1211/zd1211-20050822/access_ok.patch [new file with mode: 0644]
packages/zd1211/zd1211-20050822/iwconfig-rate.patch [new file with mode: 0644]
packages/zd1211/zd1211-20050822/urb-async.patch [new file with mode: 0644]
packages/zd1211/zd1211_20050315.bb [deleted file]
packages/zd1211/zd1211_20050822.bb

diff --git a/packages/zd1211/zd1211-20050315/.mtn2git_empty b/packages/zd1211/zd1211-20050315/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/zd1211/zd1211-20050315/Makefile.patch b/packages/zd1211/zd1211-20050315/Makefile.patch
deleted file mode 100644 (file)
index 76e422d..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
---- zd1211/Makefile.orig       2005-08-14 04:50:45.898802688 +0200
-+++ zd1211/Makefile    2005-08-14 04:50:53.134702664 +0200
-@@ -4,9 +4,9 @@
- #\r
\r
- # Some commands\r
--CC=gcc\r
--CPP=g++\r
--LD=ld\r
-+#CC=gcc\r
-+#CPP=g++\r
-+#LD=ld\r
- RM=rm -f -r\r
- CVS=cvs\r
- TAR=tar\r
diff --git a/packages/zd1211/zd1211-20050822/access_ok.patch b/packages/zd1211/zd1211-20050822/access_ok.patch
new file mode 100644 (file)
index 0000000..95fbb59
--- /dev/null
@@ -0,0 +1,11 @@
+--- zd1211/src/zd1205.c.orig   2005-10-06 03:30:27.200837520 +0200
++++ zd1211/src/zd1205.c        2005-10-06 03:29:37.176442384 +0200
+@@ -4434,7 +4434,7 @@
+                               { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" },
+                       };
+-                      err = verify_area(VERIFY_WRITE, wrq->u.data.pointer, sizeof(privtab));
++                      err = access_ok(VERIFY_WRITE, wrq->u.data.pointer, sizeof(privtab));
+                       if (err)
+                               break;
diff --git a/packages/zd1211/zd1211-20050822/iwconfig-rate.patch b/packages/zd1211/zd1211-20050822/iwconfig-rate.patch
new file mode 100644 (file)
index 0000000..c1cb634
--- /dev/null
@@ -0,0 +1,126 @@
+--- zd1211/src/zd1205.c        7 Jun 2005 21:45:21 -0000       1.17
++++ zd1211/src/zd1205.c        24 Aug 2005 11:39:29 -0000
+@@ -3599,9 +3599,59 @@
+ }
++static const unsigned long zd1205_rates[] = {
++      /* RATE_1M,  0  */
++      1000000,
++      /* RATE_2M,  1  */
++      2000000,
++      /* RATE_5M,  2  */
++      5500000,
++      /* RATE_11M, 3  */
++      11000000,
++      /* RATE_6M,  4  */
++      600000,
++      /* RATE_9M,  5  */
++      9000000,
++      /* RATE_12M, 6  */
++      12000000,
++      /* RATE_18M, 7  */
++      18000000,
++      /* RATE_24M, 8  */
++      24000000,
++      /* RATE_36M, 9  */
++      36000000,
++      /* RATE_48M, 10 */
++      48000000,
++      /* RATE_54M, 11 */
++      54000000,
++};
++
++#define ZD1205_NRATES ((sizeof(zd1205_rates))/(sizeof(unsigned long)))
++
+ static int zd1205_ioctl_setrate(struct net_device *dev, struct iw_param *frq)
+ {
+-      return 0;
++      struct zd1205_private *macp = dev->priv;
++      U8 rate;
++      if(frq->value < 0) {
++              /* Auto */
++              macp->bFixedRate = 0;
++              macp->AdapterMaxRate = RATE_54M;
++              return 0;
++      }
++      for(rate = 0; rate < ZD1205_NRATES; rate++)
++              if(zd1205_rates[rate] == frq->value) {
++                      zd1205_lock(macp);
++                      macp->bFixedRate = frq->fixed;
++                      if(frq->fixed)
++                              macp->cardSetting.FixedRate = rate;
++                      else {
++                              macp->AdapterMaxRate = rate;
++                              macp->cardSetting.TxRate = rate;
++                      }
++                      zd1205_unlock(macp);
++                      return 0;
++              }
++      return -EINVAL;
+ }
+ static int zd1205_ioctl_getrate(struct net_device *dev, struct iw_param *frq)
+@@ -3612,60 +3662,9 @@
+       frq->disabled = 0;
+       frq->value = 0;
+-      switch(macp->cardSetting.CurrTxRate)
+-      {
+-      case RATE_1M:
+-              frq->value = 1000000;
+-              break;
+-
+-      case RATE_2M:
+-              frq->value = 2000000;
+-              break;
+-
+-      case RATE_5M:
+-              frq->value = 5500000;
+-              break;
+-
+-      case RATE_11M:
+-              frq->value = 11000000;
+-              break;
+-
+-      case RATE_6M:
+-              frq->value = 600000;
+-              break;
+-
+-      case RATE_9M:
+-              frq->value = 9000000;
+-              break;
+-
+-      case RATE_12M:
+-              frq->value = 12000000;
+-              break;
+-
+-      case RATE_18M:
+-              frq->value = 18000000;
+-              break;
+-
+-      case RATE_24M:
+-              frq->value = 24000000;
+-              break;
+-
+-      case RATE_36M:
+-              frq->value = 36000000;
+-              break;
+-
+-      case RATE_48M:
+-              frq->value = 48000000;
+-              break;
+-
+-      case RATE_54M:
+-              frq->value = 54000000;
+-              break;
+-
+-      default:
++      if(macp->cardSetting.CurrTxRate > ZD1205_NRATES)
+               return -EINVAL;
+-      }
+-
++      frq->value = zd1205_rates[macp->cardSetting.CurrTxRate];
+       return 0;
+ }
diff --git a/packages/zd1211/zd1211-20050822/urb-async.patch b/packages/zd1211/zd1211-20050822/urb-async.patch
new file mode 100644 (file)
index 0000000..cd1149e
--- /dev/null
@@ -0,0 +1,82 @@
+--- zd1211/src/zd1211.c.orig   2005-03-27 22:47:35.000000000 +0200
++++ zd1211/src/zd1211.c        2005-10-06 02:53:23.380909536 +0200
+@@ -313,7 +313,6 @@
+       } else {
+               usb_fill_bulk_urb(macp->reg_urb, macp->usb,usb_sndbulkpipe(macp->usb, EP_REG_OUT),pBuffer, DataLen,zd1211_reg_cb, macp);
+       }
+-      macp->reg_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       if ((ret = SUBMIT_URB(macp->reg_urb, GFP_ATOMIC))) {
+               printk(KERN_ERR "zd1211: failed reg_urb\n");
+@@ -362,7 +361,6 @@
+       } else {
+               usb_fill_bulk_urb(macp->reg_urb, macp->usb,usb_sndbulkpipe(macp->usb, EP_REG_OUT),pRegBuffer, bufSize,zd1211_reg_cb, macp);
+       }
+-      macp->reg_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       if ((ret = SUBMIT_URB(macp->reg_urb, memflags))) {
+               printk(KERN_ERR "zd1211: failed reg_urb\n");
+               zd1211_DumpErrorCode(macp, ret);
+@@ -426,7 +424,6 @@
+       } else {
+               usb_fill_bulk_urb(macp->reg_urb, macp->usb,usb_sndbulkpipe(macp->usb, EP_REG_OUT),pRegBuffer, bufSize,zd1211_reg_cb, macp);
+       }
+-      macp->reg_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       if ((ret = SUBMIT_URB(macp->reg_urb, GFP_ATOMIC))) {
+               printk(KERN_ERR "zd1211: failed reg_urb\n");
+@@ -569,7 +566,6 @@
+               usb_fill_bulk_urb(macp->reg_urb, macp->usb,usb_sndbulkpipe(macp->usb, EP_REG_OUT),pRegBuffer, bufSize,zd1211_reg_cb, macp);
+       }
+-      macp->reg_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       if ((ret = SUBMIT_URB(macp->reg_urb, GFP_ATOMIC))) {
+               printk(KERN_ERR "zd1211: failed reg_urb\n");
+               zd1211_DumpErrorCode(macp, ret);
+@@ -1240,7 +1236,6 @@
+                       pRegBuffer, bufSize,
+                       zd1211_reg_cb, macp);
+-      macp->reg_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       if ((ret = SUBMIT_URB(macp->reg_urb, GFP_ATOMIC))) {
+               printk(KERN_ERR "zd1211: failed rf reg_urb\n");
+@@ -1311,7 +1306,6 @@
+               return;
+       printk("%s: Tx timed out.\n", dev->name);
+-      macp->tx_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       USB_URB(macp->tx_urb);
+ }
+@@ -1384,7 +1378,6 @@
+                       zd1211_intr_cb, macp);
+ #endif
+-      macp->intr_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       if ((res = SUBMIT_URB(macp->intr_urb, GFP_KERNEL))) {
+               printk(KERN_ERR "zd1211: failed intr_urb\n");
+@@ -1822,7 +1815,6 @@
+                         macp->IntEPBuffer, MAX_EPINT_BUFFER,
+                         zd1211_intr_cb, macp);
+-      macp->intr_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       status = SUBMIT_URB(macp->intr_urb, GFP_ATOMIC);
+       if (status)
+@@ -1916,7 +1908,6 @@
+                        usb_rcvbulkpipe(macp->usb, EP_DATA_IN),
+                        rx_buff, bufLen, zd1211_rx_comp_cb, macp);
+-      macp->rx_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       if ((res = SUBMIT_URB(macp->rx_urb, GFP_ATOMIC))) {
+               printk(KERN_ERR "zd1211: failed rx_urb\n");
+               zd1211_DumpErrorCode(macp, res);
+@@ -2024,7 +2015,6 @@
+                         macp->tx_buff, TotalLength,zd1211_tx_comp_cb, macp);
+       macp->tx_urb->transfer_buffer_length = TotalLength;
+-      macp->tx_urb->transfer_flags |= URB_ASYNC_UNLINK;
+       res = SUBMIT_URB(macp->tx_urb, GFP_ATOMIC);
+       if (res) {
+               printk("error in tx submit urb: %d", res);
diff --git a/packages/zd1211/zd1211_20050315.bb b/packages/zd1211/zd1211_20050315.bb
deleted file mode 100644 (file)
index 068839f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "Driver for zd1211 family of wireless USB Dongles"
-PRIORITY = "optional"
-SECTION = "kernel/modules"
-MAINTAINER = "dyoung <dyoung8888@yahoo.com>"
-LICENSE = "GPL"
-PR = "r1"
-
-SRC_URI = "http://download.sourceforge.net/zd1211/sf_zd1211_${PV}_src.tar.gz \
-          file://Makefile.patch;patch=1"
-#         file://Makefile"
-
-S = "${WORKDIR}/zd1211"
-
-inherit module
-
-#do_compile_prepend() {
-#      cp -f ${WORKDIR}/Makefile ${S}/
-#}
-
-do_compile () {
-        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
-        oe_runmake 'KSRC=${STAGING_KERNEL_DIR}' \
-                  'KDIR=${STAGING_KERNEL_DIR}' \
-                   'CC="${KERNEL_CC}"' \
-                   'LD="${KERNEL_LD}"' 
-}
-
-do_install() {   
-        install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
-        install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
-}
-
index cc1cc9f..917706e 100644 (file)
@@ -3,11 +3,14 @@ PRIORITY = "optional"
 SECTION = "kernel/modules"
 MAINTAINER = "dyoung <dyoung8888@yahoo.com>"
 LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
 RDEPENDS = "wireless-tools"
 
 SRC_URI = "http://download.sourceforge.net/zd1211/sf_zd1211_${PV}_src.tar.gz \
-       file://makefile.patch;patch=1" 
+       file://makefile.patch;patch=1 \
+       file://iwconfig-rate.patch;patch=1 \
+       file://access_ok.patch;patch=1 \
+       file://urb-async.patch;patch=1" 
 
 S = "${WORKDIR}/zd1211"