提交 988440e7 编写于 作者: W Werner Lemberg 提交者: Greg Kroah-Hartman

USB: ark3116: Formatting cleanups

Formatting only.
Signed-off-by: NWerner Lemberg <wl@gnu.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 2f430b4b
...@@ -46,10 +46,10 @@ static inline void ARK3116_SND(struct usb_serial *serial, int seq, ...@@ -46,10 +46,10 @@ static inline void ARK3116_SND(struct usb_serial *serial, int seq,
{ {
int result; int result;
result = usb_control_msg(serial->dev, result = usb_control_msg(serial->dev,
usb_sndctrlpipe(serial->dev,0), usb_sndctrlpipe(serial->dev, 0),
request, requesttype, value, index, request, requesttype, value, index,
NULL,0x00, 1000); NULL, 0x00, 1000);
dbg("%03d > ok",seq); dbg("%03d > ok", seq);
} }
static inline void ARK3116_RCV(struct usb_serial *serial, int seq, static inline void ARK3116_RCV(struct usb_serial *serial, int seq,
...@@ -59,27 +59,25 @@ static inline void ARK3116_RCV(struct usb_serial *serial, int seq, ...@@ -59,27 +59,25 @@ static inline void ARK3116_RCV(struct usb_serial *serial, int seq,
{ {
int result; int result;
result = usb_control_msg(serial->dev, result = usb_control_msg(serial->dev,
usb_rcvctrlpipe(serial->dev,0), usb_rcvctrlpipe(serial->dev, 0),
request, requesttype, value, index, request, requesttype, value, index,
buf, 0x0000001, 1000); buf, 0x0000001, 1000);
if (result) if (result)
dbg("%03d < %d bytes [0x%02X]",seq, result, buf[0]); dbg("%03d < %d bytes [0x%02X]", seq, result, buf[0]);
else else
dbg("%03d < 0 bytes", seq); dbg("%03d < 0 bytes", seq);
} }
static inline void ARK3116_RCV_QUIET(struct usb_serial *serial, static inline void ARK3116_RCV_QUIET(struct usb_serial *serial,
__u8 request, __u8 requesttype, __u8 request, __u8 requesttype,
__u16 value, __u16 index, char *buf) __u16 value, __u16 index, char *buf)
{ {
usb_control_msg(serial->dev, usb_control_msg(serial->dev,
usb_rcvctrlpipe(serial->dev,0), usb_rcvctrlpipe(serial->dev, 0),
request, requesttype, value, index, request, requesttype, value, index,
buf, 0x0000001, 1000); buf, 0x0000001, 1000);
} }
static int ark3116_attach(struct usb_serial *serial) static int ark3116_attach(struct usb_serial *serial)
{ {
char *buf; char *buf;
...@@ -87,10 +85,10 @@ static int ark3116_attach(struct usb_serial *serial) ...@@ -87,10 +85,10 @@ static int ark3116_attach(struct usb_serial *serial)
int i; int i;
for (i = 0; i < serial->num_ports; ++i) { for (i = 0; i < serial->num_ports; ++i) {
priv = kmalloc (sizeof (struct ark3116_private), GFP_KERNEL); priv = kmalloc(sizeof (struct ark3116_private), GFP_KERNEL);
if (!priv) if (!priv)
goto cleanup; goto cleanup;
memset (priv, 0x00, sizeof (struct ark3116_private)); memset(priv, 0x00, sizeof (struct ark3116_private));
spin_lock_init(&priv->lock); spin_lock_init(&priv->lock);
usb_set_serial_port_data(serial->port[i], priv); usb_set_serial_port_data(serial->port[i], priv);
...@@ -98,63 +96,62 @@ static int ark3116_attach(struct usb_serial *serial) ...@@ -98,63 +96,62 @@ static int ark3116_attach(struct usb_serial *serial)
buf = kmalloc(1, GFP_KERNEL); buf = kmalloc(1, GFP_KERNEL);
if (!buf) { if (!buf) {
dbg("error kmalloc -> out of mem ?"); dbg("error kmalloc -> out of mem?");
goto cleanup; goto cleanup;
} }
/* 3 */ /* 3 */
ARK3116_SND(serial, 3,0xFE,0x40,0x0008,0x0002); ARK3116_SND(serial, 3, 0xFE, 0x40, 0x0008, 0x0002);
ARK3116_SND(serial, 4,0xFE,0x40,0x0008,0x0001); ARK3116_SND(serial, 4, 0xFE, 0x40, 0x0008, 0x0001);
ARK3116_SND(serial, 5,0xFE,0x40,0x0000,0x0008); ARK3116_SND(serial, 5, 0xFE, 0x40, 0x0000, 0x0008);
ARK3116_SND(serial, 6,0xFE,0x40,0x0000,0x000B); ARK3116_SND(serial, 6, 0xFE, 0x40, 0x0000, 0x000B);
/* <-- seq7 */ /* <-- seq7 */
ARK3116_RCV(serial, 7,0xFE,0xC0,0x0000,0x0003, 0x00, buf); ARK3116_RCV(serial, 7, 0xFE, 0xC0, 0x0000, 0x0003, 0x00, buf);
ARK3116_SND(serial, 8,0xFE,0x40,0x0080,0x0003); ARK3116_SND(serial, 8, 0xFE, 0x40, 0x0080, 0x0003);
ARK3116_SND(serial, 9,0xFE,0x40,0x001A,0x0000); ARK3116_SND(serial, 9, 0xFE, 0x40, 0x001A, 0x0000);
ARK3116_SND(serial,10,0xFE,0x40,0x0000,0x0001); ARK3116_SND(serial, 10, 0xFE, 0x40, 0x0000, 0x0001);
ARK3116_SND(serial,11,0xFE,0x40,0x0000,0x0003); ARK3116_SND(serial, 11, 0xFE, 0x40, 0x0000, 0x0003);
/* <-- seq12 */ /* <-- seq12 */
ARK3116_RCV(serial,12,0xFE,0xC0,0x0000,0x0004, 0x00, buf); ARK3116_RCV(serial, 12, 0xFE, 0xC0, 0x0000, 0x0004, 0x00, buf);
ARK3116_SND(serial,13,0xFE,0x40,0x0000,0x0004); ARK3116_SND(serial, 13, 0xFE, 0x40, 0x0000, 0x0004);
/* 14 */ /* 14 */
ARK3116_RCV(serial,14,0xFE,0xC0,0x0000,0x0004, 0x00, buf); ARK3116_RCV(serial, 14, 0xFE, 0xC0, 0x0000, 0x0004, 0x00, buf);
ARK3116_SND(serial,15,0xFE,0x40,0x0000,0x0004); ARK3116_SND(serial, 15, 0xFE, 0x40, 0x0000, 0x0004);
/* 16 */ /* 16 */
ARK3116_RCV(serial,16,0xFE,0xC0,0x0000,0x0004, 0x00, buf); ARK3116_RCV(serial, 16, 0xFE, 0xC0, 0x0000, 0x0004, 0x00, buf);
/* --> seq17 */ /* --> seq17 */
ARK3116_SND(serial,17,0xFE,0x40,0x0001,0x0004); ARK3116_SND(serial, 17, 0xFE, 0x40, 0x0001, 0x0004);
/* <-- seq18 */ /* <-- seq18 */
ARK3116_RCV(serial,18,0xFE,0xC0,0x0000,0x0004, 0x01, buf); ARK3116_RCV(serial, 18, 0xFE, 0xC0, 0x0000, 0x0004, 0x01, buf);
/* --> seq19 */ /* --> seq19 */
ARK3116_SND(serial,19,0xFE,0x40,0x0003,0x0004); ARK3116_SND(serial, 19, 0xFE, 0x40, 0x0003, 0x0004);
/* <-- seq20 */ /* <-- seq20 */
/* seems like serial port status info (RTS, CTS,...) */ /* seems like serial port status info (RTS, CTS, ...) */
/* returns modem control line status ?! */ /* returns modem control line status?! */
ARK3116_RCV(serial,20,0xFE,0xC0,0x0000,0x0006, 0xFF, buf); ARK3116_RCV(serial, 20, 0xFE, 0xC0, 0x0000, 0x0006, 0xFF, buf);
/* set 9600 baud & do some init ?! */ /* set 9600 baud & do some init?! */
ARK3116_SND(serial,147,0xFE,0x40,0x0083,0x0003); ARK3116_SND(serial, 147, 0xFE, 0x40, 0x0083, 0x0003);
ARK3116_SND(serial,148,0xFE,0x40,0x0038,0x0000); ARK3116_SND(serial, 148, 0xFE, 0x40, 0x0038, 0x0000);
ARK3116_SND(serial,149,0xFE,0x40,0x0001,0x0001); ARK3116_SND(serial, 149, 0xFE, 0x40, 0x0001, 0x0001);
ARK3116_SND(serial,150,0xFE,0x40,0x0003,0x0003); ARK3116_SND(serial, 150, 0xFE, 0x40, 0x0003, 0x0003);
ARK3116_RCV(serial,151,0xFE,0xC0,0x0000,0x0004,0x03, buf); ARK3116_RCV(serial, 151, 0xFE, 0xC0, 0x0000, 0x0004, 0x03, buf);
ARK3116_SND(serial,152,0xFE,0x40,0x0000,0x0003); ARK3116_SND(serial, 152, 0xFE, 0x40, 0x0000, 0x0003);
ARK3116_RCV(serial,153,0xFE,0xC0,0x0000,0x0003,0x00, buf); ARK3116_RCV(serial, 153, 0xFE, 0xC0, 0x0000, 0x0003, 0x00, buf);
ARK3116_SND(serial,154,0xFE,0x40,0x0003,0x0003); ARK3116_SND(serial, 154, 0xFE, 0x40, 0x0003, 0x0003);
kfree(buf); kfree(buf);
return(0); return 0;
cleanup: cleanup:
for (--i; i>=0; --i) for (--i; i >= 0; --i)
usb_set_serial_port_data(serial->port[i], NULL); usb_set_serial_port_data(serial->port[i], NULL);
return -ENOMEM; return -ENOMEM;
} }
...@@ -183,7 +180,8 @@ static void ark3116_set_termios(struct usb_serial_port *port, ...@@ -183,7 +180,8 @@ static void ark3116_set_termios(struct usb_serial_port *port,
spin_lock_irqsave(&priv->lock, flags); spin_lock_irqsave(&priv->lock, flags);
if (!priv->termios_initialized) { if (!priv->termios_initialized) {
*(port->tty->termios) = tty_std_termios; *(port->tty->termios) = tty_std_termios;
port->tty->termios->c_cflag = B9600 | CS8 | CREAD | HUPCL | CLOCAL; port->tty->termios->c_cflag = B9600 | CS8
| CREAD | HUPCL | CLOCAL;
priv->termios_initialized = 1; priv->termios_initialized = 1;
} }
spin_unlock_irqrestore(&priv->lock, flags); spin_unlock_irqrestore(&priv->lock, flags);
...@@ -207,8 +205,8 @@ static void ark3116_set_termios(struct usb_serial_port *port, ...@@ -207,8 +205,8 @@ static void ark3116_set_termios(struct usb_serial_port *port,
} }
/* set data bit count (8/7/6/5) */ /* set data bit count (8/7/6/5) */
if (cflag & CSIZE){ if (cflag & CSIZE) {
switch (cflag & CSIZE){ switch (cflag & CSIZE) {
case CS5: case CS5:
config |= 0x00; config |= 0x00;
dbg("setting CS5"); dbg("setting CS5");
...@@ -222,7 +220,8 @@ static void ark3116_set_termios(struct usb_serial_port *port, ...@@ -222,7 +220,8 @@ static void ark3116_set_termios(struct usb_serial_port *port,
dbg("setting CS7"); dbg("setting CS7");
break; break;
default: default:
err ("CSIZE was set but not CS5-CS8, using CS8!"); err("CSIZE was set but not CS5-CS8, using CS8!");
/* fall through */
case CS8: case CS8:
config |= 0x03; config |= 0x03;
dbg("setting CS8"); dbg("setting CS8");
...@@ -230,8 +229,8 @@ static void ark3116_set_termios(struct usb_serial_port *port, ...@@ -230,8 +229,8 @@ static void ark3116_set_termios(struct usb_serial_port *port,
} }
} }
/* set parity (NONE,EVEN,ODD) */ /* set parity (NONE/EVEN/ODD) */
if (cflag & PARENB){ if (cflag & PARENB) {
if (cflag & PARODD) { if (cflag & PARODD) {
config |= 0x08; config |= 0x08;
dbg("setting parity to ODD"); dbg("setting parity to ODD");
...@@ -243,20 +242,19 @@ static void ark3116_set_termios(struct usb_serial_port *port, ...@@ -243,20 +242,19 @@ static void ark3116_set_termios(struct usb_serial_port *port,
dbg("setting parity to NONE"); dbg("setting parity to NONE");
} }
/* SET STOPBIT (1/2) */ /* set stop bit (1/2) */
if (cflag & CSTOPB) { if (cflag & CSTOPB) {
config |= 0x04; config |= 0x04;
dbg ("setting 2 stop bits"); dbg("setting 2 stop bits");
} else { } else {
dbg ("setting 1 stop bit"); dbg("setting 1 stop bit");
} }
/* set baudrate */
/* set baudrate: */
baud = 0; baud = 0;
switch (cflag & CBAUD){ switch (cflag & CBAUD) {
case B0: case B0:
err("can't set 0baud, using 9600 instead"); err("can't set 0 baud, using 9600 instead");
break; break;
case B75: baud = 75; break; case B75: baud = 75; break;
case B150: baud = 150; break; case B150: baud = 150; break;
...@@ -288,38 +286,40 @@ static void ark3116_set_termios(struct usb_serial_port *port, ...@@ -288,38 +286,40 @@ static void ark3116_set_termios(struct usb_serial_port *port,
*/ */
if (baud == 460800) if (baud == 460800)
/* strange, for 460800 the formula is wrong /* strange, for 460800 the formula is wrong
* (dont use round(), then 9600baud is wrong) */ * if using round() then 9600baud is wrong) */
ark3116_baud = 7; ark3116_baud = 7;
else else
ark3116_baud = 3000000 / baud; ark3116_baud = 3000000 / baud;
/* ? */ /* ? */
ARK3116_RCV(serial,0,0xFE,0xC0,0x0000,0x0003, 0x03, buf); ARK3116_RCV(serial, 0, 0xFE, 0xC0, 0x0000, 0x0003, 0x03, buf);
/* offset = buf[0]; */ /* offset = buf[0]; */
/* offset = 0x03; */ /* offset = 0x03; */
/* dbg("using 0x%04X as target for 0x0003:",0x0080+offset); */ /* dbg("using 0x%04X as target for 0x0003:", 0x0080 + offset); */
/* set baudrate */ /* set baudrate */
dbg("setting baudrate to %d (->reg=%d)",baud,ark3116_baud); dbg("setting baudrate to %d (->reg=%d)", baud, ark3116_baud);
ARK3116_SND(serial,147,0xFE,0x40,0x0083,0x0003); ARK3116_SND(serial, 147, 0xFE, 0x40, 0x0083, 0x0003);
ARK3116_SND(serial,148,0xFE,0x40,(ark3116_baud & 0x00FF) ,0x0000); ARK3116_SND(serial, 148, 0xFE, 0x40,
ARK3116_SND(serial,149,0xFE,0x40,(ark3116_baud & 0xFF00)>>8,0x0001); (ark3116_baud & 0x00FF), 0x0000);
ARK3116_SND(serial,150,0xFE,0x40,0x0003,0x0003); ARK3116_SND(serial, 149, 0xFE, 0x40,
(ark3116_baud & 0xFF00) >> 8, 0x0001);
ARK3116_SND(serial, 150, 0xFE, 0x40, 0x0003, 0x0003);
/* ? */ /* ? */
ARK3116_RCV(serial,151,0xFE,0xC0,0x0000,0x0004,0x03, buf); ARK3116_RCV(serial, 151, 0xFE, 0xC0, 0x0000, 0x0004, 0x03, buf);
ARK3116_SND(serial,152,0xFE,0x40,0x0000,0x0003); ARK3116_SND(serial, 152, 0xFE, 0x40, 0x0000, 0x0003);
/* set data bit count, stop bit count & parity: */ /* set data bit count, stop bit count & parity: */
dbg("updating bit count, stop bit or parity (cfg=0x%02X)", config); dbg("updating bit count, stop bit or parity (cfg=0x%02X)", config);
ARK3116_RCV(serial,153,0xFE,0xC0,0x0000,0x0003,0x00, buf); ARK3116_RCV(serial, 153, 0xFE, 0xC0, 0x0000, 0x0003, 0x00, buf);
ARK3116_SND(serial,154,0xFE,0x40,config,0x0003); ARK3116_SND(serial, 154, 0xFE, 0x40, config, 0x0003);
if (cflag & CRTSCTS) if (cflag & CRTSCTS)
dbg("CRTSCTS not supported by chipset ?!"); dbg("CRTSCTS not supported by chipset?!");
/* TEST ARK3116_SND(154,0xFE,0x40,0xFFFF, 0x0006); */ /* TEST ARK3116_SND(154, 0xFE, 0x40, 0xFFFF, 0x0006); */
kfree(buf); kfree(buf);
return; return;
...@@ -332,11 +332,11 @@ static int ark3116_open(struct usb_serial_port *port, struct file *filp) ...@@ -332,11 +332,11 @@ static int ark3116_open(struct usb_serial_port *port, struct file *filp)
char *buf; char *buf;
int result = 0; int result = 0;
dbg("%s - port %d", __FUNCTION__, port->number); dbg("%s - port %d", __FUNCTION__, port->number);
buf = kmalloc(1, GFP_KERNEL); buf = kmalloc(1, GFP_KERNEL);
if (!buf) { if (!buf) {
dbg("error kmalloc -> out of mem ?"); dbg("error kmalloc -> out of mem?");
return -ENOMEM; return -ENOMEM;
} }
...@@ -345,38 +345,37 @@ static int ark3116_open(struct usb_serial_port *port, struct file *filp) ...@@ -345,38 +345,37 @@ static int ark3116_open(struct usb_serial_port *port, struct file *filp)
return result; return result;
/* open */ /* open */
ARK3116_RCV(serial,111,0xFE,0xC0,0x0000,0x0003, 0x02, buf); ARK3116_RCV(serial, 111, 0xFE, 0xC0, 0x0000, 0x0003, 0x02, buf);
ARK3116_SND(serial,112,0xFE,0x40,0x0082,0x0003); ARK3116_SND(serial, 112, 0xFE, 0x40, 0x0082, 0x0003);
ARK3116_SND(serial,113,0xFE,0x40,0x001A,0x0000); ARK3116_SND(serial, 113, 0xFE, 0x40, 0x001A, 0x0000);
ARK3116_SND(serial,114,0xFE,0x40,0x0000,0x0001); ARK3116_SND(serial, 114, 0xFE, 0x40, 0x0000, 0x0001);
ARK3116_SND(serial,115,0xFE,0x40,0x0002,0x0003); ARK3116_SND(serial, 115, 0xFE, 0x40, 0x0002, 0x0003);
ARK3116_RCV(serial,116,0xFE,0xC0,0x0000,0x0004, 0x03, buf); ARK3116_RCV(serial, 116, 0xFE, 0xC0, 0x0000, 0x0004, 0x03, buf);
ARK3116_SND(serial,117,0xFE,0x40,0x0002,0x0004); ARK3116_SND(serial, 117, 0xFE, 0x40, 0x0002, 0x0004);
ARK3116_RCV(serial,118,0xFE,0xC0,0x0000,0x0004, 0x02, buf); ARK3116_RCV(serial, 118, 0xFE, 0xC0, 0x0000, 0x0004, 0x02, buf);
ARK3116_SND(serial,119,0xFE,0x40,0x0000,0x0004); ARK3116_SND(serial, 119, 0xFE, 0x40, 0x0000, 0x0004);
ARK3116_RCV(serial,120,0xFE,0xC0,0x0000,0x0004, 0x00, buf); ARK3116_RCV(serial, 120, 0xFE, 0xC0, 0x0000, 0x0004, 0x00, buf);
ARK3116_SND(serial,121,0xFE,0x40,0x0001,0x0004); ARK3116_SND(serial, 121, 0xFE, 0x40, 0x0001, 0x0004);
ARK3116_RCV(serial,122,0xFE,0xC0,0x0000,0x0004, 0x01, buf); ARK3116_RCV(serial, 122, 0xFE, 0xC0, 0x0000, 0x0004, 0x01, buf);
ARK3116_SND(serial,123,0xFE,0x40,0x0003,0x0004); ARK3116_SND(serial, 123, 0xFE, 0x40, 0x0003, 0x0004);
/* returns different values (control lines ?!) */ /* returns different values (control lines?!) */
ARK3116_RCV(serial,124,0xFE,0xC0,0x0000,0x0006, 0xFF, buf); ARK3116_RCV(serial, 124, 0xFE, 0xC0, 0x0000, 0x0006, 0xFF, buf);
/* initialise termios: */ /* initialise termios */
if (port->tty) if (port->tty)
ark3116_set_termios(port, &tmp_termios); ark3116_set_termios(port, &tmp_termios);
kfree(buf); kfree(buf);
return result; return result;
} }
static int ark3116_ioctl(struct usb_serial_port *port, struct file *file, static int ark3116_ioctl(struct usb_serial_port *port, struct file *file,
...@@ -417,7 +416,7 @@ static int ark3116_tiocmget(struct usb_serial_port *port, struct file *file) ...@@ -417,7 +416,7 @@ static int ark3116_tiocmget(struct usb_serial_port *port, struct file *file)
char *buf; char *buf;
char temp; char temp;
/* seems like serial port status info (RTS, CTS,...) is stored /* seems like serial port status info (RTS, CTS, ...) is stored
* in reg(?) 0x0006 * in reg(?) 0x0006
* pcb connection point 11 = GND -> sets bit4 of response * pcb connection point 11 = GND -> sets bit4 of response
* pcb connection point 7 = GND -> sets bit6 of response * pcb connection point 7 = GND -> sets bit6 of response
...@@ -429,16 +428,16 @@ static int ark3116_tiocmget(struct usb_serial_port *port, struct file *file) ...@@ -429,16 +428,16 @@ static int ark3116_tiocmget(struct usb_serial_port *port, struct file *file)
return -ENOMEM; return -ENOMEM;
} }
/* read register: */ /* read register */
ARK3116_RCV_QUIET(serial,0xFE,0xC0,0x0000,0x0006,buf); ARK3116_RCV_QUIET(serial, 0xFE, 0xC0, 0x0000, 0x0006, buf);
temp = buf[0]; temp = buf[0];
kfree(buf); kfree(buf);
/* i do not really know if bit4=CTS and bit6=DSR... was just a /* i do not really know if bit4=CTS and bit6=DSR... just a
* quick guess !! * quick guess!
*/ */
return (temp & (1<<4) ? TIOCM_CTS : 0) | return (temp & (1<<4) ? TIOCM_CTS : 0)
(temp & (1<<6) ? TIOCM_DSR : 0); | (temp & (1<<6) ? TIOCM_DSR : 0);
} }
static struct usb_driver ark3116_driver = { static struct usb_driver ark3116_driver = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册