[PATCH] ir-usb.c fix for 2.5.6-pre3

From: Greg KH (greg@kroah.com)
Date: Thu Mar 07 2002 - 14:20:26 EST


As the irda header files seem to be messed up in 2.5.6-pre3 I've decided
to remove the dependency on them from the ir-usb.c driver. So here's a
patch against 2.5.6-pre3 that enables the ir-usb.c code to build and
work properly.

thanks,

greg k-h

diff -Nru a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c
--- a/drivers/usb/serial/ir-usb.c Thu Mar 7 11:21:25 2002
+++ b/drivers/usb/serial/ir-usb.c Thu Mar 7 11:21:25 2002
@@ -1,8 +1,8 @@
 /*
  * USB IR Dongle driver
  *
- * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
- * Copyright (C) 2002 Gary Brubaker (xavyer@ix.netcom.com)
+ * Copyright (C) 2001-2002 Greg Kroah-Hartman (greg@kroah.com)
+ * Copyright (C) 2002 Gary Brubaker (xavyer@ix.netcom.com)
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -21,6 +21,11 @@
  *
  * See Documentation/usb/usb-serial.txt for more information on using this driver
  *
+ * 2002_Mar_07 greg kh
+ * moved some needed structures and #define values from the
+ * net/irda/irda-usb.h file into our file, as we don't want to depend on
+ * that codebase compiling correctly :)
+ *
  * 2002_Jan_14 gb
  * Added module parameter to force specific number of XBOFs.
  * Added ir_xbof_change().
@@ -56,7 +61,6 @@
 #include <linux/module.h>
 #include <linux/spinlock.h>
 #include <linux/usb.h>
-#include <net/irda/irda-usb.h>
 
 #ifdef CONFIG_USB_SERIAL_DEBUG
         static int debug = 1;
@@ -73,6 +77,33 @@
 #define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>"
 #define DRIVER_DESC "USB IR Dongle driver"
 
+/* USB IrDA class spec information */
+#define USB_CLASS_IRDA 0x02
+#define USB_DT_IRDA 0x21
+#define IU_REQ_GET_CLASS_DESC 0x06
+#define SPEED_2400 0x01
+#define SPEED_9600 0x02
+#define SPEED_19200 0x03
+#define SPEED_38400 0x04
+#define SPEED_57600 0x05
+#define SPEED_115200 0x06
+#define SPEED_576000 0x07
+#define SPEED_1152000 0x08
+#define SPEED_4000000 0x09
+
+struct irda_class_desc {
+ u8 bLength;
+ u8 bDescriptorType;
+ u16 bcdSpecRevision;
+ u8 bmDataSize;
+ u8 bmWindowSize;
+ u8 bmMinTurnaroundTime;
+ u16 wBaudRate;
+ u8 bmAdditionalBOFs;
+ u8 bIrdaRateSniff;
+ u8 bMaxUnicastList;
+} __attribute__ ((packed));
+
 /* if overridden by the user, then use their value for the size of the read and
  * write urbs */
 static int buffer_size = 0;
@@ -158,7 +189,7 @@
         ret = usb_control_msg(dev, usb_rcvctrlpipe(dev,0),
                         IU_REQ_GET_CLASS_DESC,
                         USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
- 0, ifnum, desc, sizeof(*desc), MSECS_TO_JIFFIES(500));
+ 0, ifnum, desc, sizeof(*desc), HZ);
         
         dbg("%s - ret=%d", __FUNCTION__, ret);
         if (ret < sizeof(*desc)) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 07 2002 - 21:01:07 EST