/*
* USB Cypress M8 driver
*
* Copyright (C) 2004
* Lonnie Mendez (dignome@gmail.com)
* Copyright (C) 2003,2004
* Neil Whelchel (koyama@firstlight.net)
*
* 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
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* See Documentation/usb/usb-serial.txt for more information on using this driver
*
* See http://geocities.com/i0xox0i for information on this driver and the
* earthmate usb device.
*
* Lonnie Mendez <dignome@gmail.com>
* 4-29-2005
* Fixed problem where setting or retreiving the serial config would fail with
* EPIPE. Removed CRTS toggling so the driver behaves more like other usbserial
* adapters. Issued new interval of 1ms instead of the default 10ms. As a
* result, transfer speed has been substantially increased. From avg. 850bps to
* avg. 3300bps. initial termios has also been modified. Cleaned up code and
* formatting issues so it is more readable. Replaced the C++ style comments.
*
* Lonnie Mendez <dignome@gmail.com>
* 12-15-2004
* Incorporated write buffering from pl2303 driver. Fixed bug with line
* handling so both lines are raised in cypress_open. (was dropping rts)
* Various code cleanups made as well along with other misc bug fixes.
*
* Lonnie Mendez <dignome@gmail.com>
* 04-10-2004
* Driver modified to support dynamic line settings. Various improvments
* and features.
*
* Neil Whelchel
* 10-2003
* Driver first released.
*
*/
/* Thanks to Neil Whelchel for writing the first cypress m8 implementation for linux. */
/* Thanks to cypress for providing references for the hid reports. */
/* Thanks to Jiang Zhang for providing links and for general help. */
/* Code originates and was built up from ftdi_sio, belkin, pl2303 and others. */
#include <linux/config.h>
#include <linux/kernel.h>
#include