USB: empeg: clean up and handle speeds

The empeg is pretty fixed. Tidy up the long foo->bar->baz stuff and
encode the fixed speed properly.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Alan Cox 2007-10-18 01:24:19 -07:00 committed by Greg Kroah-Hartman
parent 7fa36a994c
commit 998e863871
1 changed files with 8 additions and 15 deletions

View File

@ -449,14 +449,9 @@ static int empeg_ioctl (struct usb_serial_port *port, struct file * file, unsign
static void empeg_set_termios (struct usb_serial_port *port, struct ktermios *old_termios)
{
struct ktermios *termios = port->tty->termios;
dbg("%s - port %d", __FUNCTION__, port->number);
if ((!port->tty) || (!port->tty->termios)) {
dbg("%s - no tty structures", __FUNCTION__);
return;
}
/*
* The empeg-car player wants these particular tty settings.
* You could, for example, change the baud rate, however the
@ -466,7 +461,7 @@ static void empeg_set_termios (struct usb_serial_port *port, struct ktermios *ol
*
* The default requirements for this device are:
*/
port->tty->termios->c_iflag
termios->c_iflag
&= ~(IGNBRK /* disable ignore break */
| BRKINT /* disable break causes interrupt */
| PARMRK /* disable mark parity errors */
@ -476,24 +471,23 @@ static void empeg_set_termios (struct usb_serial_port *port, struct ktermios *ol
| ICRNL /* disable translate CR to NL */
| IXON); /* disable enable XON/XOFF flow control */
port->tty->termios->c_oflag
termios->c_oflag
&= ~OPOST; /* disable postprocess output characters */
port->tty->termios->c_lflag
termios->c_lflag
&= ~(ECHO /* disable echo input characters */
| ECHONL /* disable echo new line */
| ICANON /* disable erase, kill, werase, and rprnt special characters */
| ISIG /* disable interrupt, quit, and suspend special characters */
| IEXTEN); /* disable non-POSIX special characters */
port->tty->termios->c_cflag
termios->c_cflag
&= ~(CSIZE /* no size */
| PARENB /* disable parity bit */
| CBAUD); /* clear current baud rate */
port->tty->termios->c_cflag
|= (CS8 /* character size 8 bits */
| B115200); /* baud rate 115200 */
termios->c_cflag
|= CS8; /* character size 8 bits */
/*
* Force low_latency on; otherwise the pushes are scheduled;
@ -501,8 +495,7 @@ static void empeg_set_termios (struct usb_serial_port *port, struct ktermios *ol
* on the floor. We don't want to drop bytes on the floor. :)
*/
port->tty->low_latency = 1;
return;
tty_encode_baud_rate(port->tty, 115200, 115200);
}