lkml.org 
[lkml]   [2002]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] ir-usb.c fix for 2.5.6-pre3
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/
\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.038 / U:0.328 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site