patch-2.4.22 linux-2.4.22/drivers/usb/serial/kobil_sct.c
Next file: linux-2.4.22/drivers/usb/serial/pl2303.c
Previous file: linux-2.4.22/drivers/usb/serial/ipaq.h
Back to the patch index
Back to the overall index
- Lines: 82
- Date:
2003-08-25 04:44:42.000000000 -0700
- Orig file:
linux-2.4.21/drivers/usb/serial/kobil_sct.c
- Orig date:
2003-06-13 07:51:37.000000000 -0700
diff -urN linux-2.4.21/drivers/usb/serial/kobil_sct.c linux-2.4.22/drivers/usb/serial/kobil_sct.c
@@ -21,7 +21,8 @@
* Supported readers: USB TWIN, KAAN Standard Plus and SecOVID Reader Plus
* (Adapter K), B1 Professional and KAAN Professional (Adapter B)
*
- * TODO: High baudrates
+ * (23/05/2003) tw
+ * Add support for KAAN SIM
*
* (12/03/2002) tw
* Fixed bug with Pro-readers and PNP
@@ -66,6 +67,7 @@
#define KOBIL_ADAPTER_B_PRODUCT_ID 0x2011
#define KOBIL_ADAPTER_K_PRODUCT_ID 0x2012
#define KOBIL_USBTWIN_PRODUCT_ID 0x0078
+#define KOBIL_KAAN_SIM_PRODUCT_ID 0x0081
#define KOBIL_TIMEOUT 500
#define KOBIL_BUF_LENGTH 300
@@ -89,6 +91,7 @@
{ USB_DEVICE(KOBIL_VENDOR_ID, KOBIL_ADAPTER_B_PRODUCT_ID) },
{ USB_DEVICE(KOBIL_VENDOR_ID, KOBIL_ADAPTER_K_PRODUCT_ID) },
{ USB_DEVICE(KOBIL_VENDOR_ID, KOBIL_USBTWIN_PRODUCT_ID) },
+ { USB_DEVICE(KOBIL_VENDOR_ID, KOBIL_KAAN_SIM_PRODUCT_ID) },
{ } /* Terminating entry */
};
@@ -157,6 +160,9 @@
case KOBIL_USBTWIN_PRODUCT_ID:
printk(KERN_DEBUG "KOBIL USBTWIN detected\n");
break;
+ case KOBIL_KAAN_SIM_PRODUCT_ID:
+ printk(KERN_DEBUG "KOBIL KAAN SIM detected\n");
+ break;
}
// search for the neccessary endpoints
@@ -322,7 +328,8 @@
dbg("%s - port %d Send reset_all_queues URB returns: %i", __FUNCTION__, port->number, result);
}
- if (priv->device_type == KOBIL_USBTWIN_PRODUCT_ID || priv->device_type == KOBIL_ADAPTER_B_PRODUCT_ID) {
+ if (priv->device_type == KOBIL_USBTWIN_PRODUCT_ID || priv->device_type == KOBIL_ADAPTER_B_PRODUCT_ID ||
+ priv->device_type == KOBIL_KAAN_SIM_PRODUCT_ID) {
// start reading (Adapter B 'cause PNP string)
result = usb_submit_urb( port->interrupt_in_urb );
dbg("%s - port %d Send read URB returns: %i", __FUNCTION__, port->number, result);
@@ -444,12 +451,12 @@
priv->filled = priv->filled + count;
- // only send complete block. TWIN and adapter K use the same protocol.
+ // only send complete block. TWIN, KAAN SIM and adapter K use the same protocol.
if ( ((priv->device_type != KOBIL_ADAPTER_B_PRODUCT_ID) && (priv->filled > 2) && (priv->filled >= (priv->buf[1] + 3))) ||
((priv->device_type == KOBIL_ADAPTER_B_PRODUCT_ID) && (priv->filled > 3) && (priv->filled >= (priv->buf[2] + 4))) ) {
- // stop reading (except TWIN)
- if (priv->device_type != KOBIL_USBTWIN_PRODUCT_ID) {
+ // stop reading (except TWIN and KAAN SIM)
+ if ( (priv->device_type == KOBIL_ADAPTER_B_PRODUCT_ID) || (priv->device_type == KOBIL_ADAPTER_K_PRODUCT_ID) ) {
usb_unlink_urb( port->interrupt_in_urb );
}
@@ -486,8 +493,8 @@
priv->filled = 0;
priv->cur_pos = 0;
- // start reading (except TWIN)
- if (priv->device_type != KOBIL_USBTWIN_PRODUCT_ID) {
+ // start reading (except TWIN and KAAN SIM)
+ if ( (priv->device_type == KOBIL_ADAPTER_B_PRODUCT_ID) || (priv->device_type == KOBIL_ADAPTER_K_PRODUCT_ID) ) {
// someone sets the dev to 0 if the close method has been called
port->interrupt_in_urb->dev = port->serial->dev;
@@ -519,7 +526,7 @@
char *settings;
priv = (struct kobil_private *) port->private;
- if (priv->device_type == KOBIL_USBTWIN_PRODUCT_ID) {
+ if ((priv->device_type == KOBIL_USBTWIN_PRODUCT_ID) || (priv->device_type == KOBIL_KAAN_SIM_PRODUCT_ID)) {
// This device doesn't support ioctl calls
return 0;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)