diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2007-07-09 12:03:10 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-07-12 16:34:41 -0700 |
commit | 31473aae5afb11f0c5217dafdbc9df8a470071aa (patch) | |
tree | 13d533cf73884c41ea7258b6d4a213d4d2aef2c2 | |
parent | 70f458f668aa09cc45384728dec434f2975a3947 (diff) | |
download | op-kernel-dev-31473aae5afb11f0c5217dafdbc9df8a470071aa.zip op-kernel-dev-31473aae5afb11f0c5217dafdbc9df8a470071aa.tar.gz |
USB: mos7840.c: turn this into a serial driver
The MOS driver is "interesting", in a bad kind of 'how the hell did this
get merged' kind of way
- Remove the bogus termios change check
- Remove the duplicate code for half the ioctls
- Remove the supporting code to duplicate the ioctl code
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>
-rw-r--r-- | drivers/usb/serial/mos7840.c | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c index a667882..37f41f5 100644 --- a/drivers/usb/serial/mos7840.c +++ b/drivers/usb/serial/mos7840.c @@ -2189,16 +2189,6 @@ static void mos7840_set_termios(struct usb_serial_port *port, return; } - /* check that they really want us to change something */ - if (old_termios) { - if ((cflag == old_termios->c_cflag) && - (RELEVANT_IFLAG(tty->termios->c_iflag) == - RELEVANT_IFLAG(old_termios->c_iflag))) { - dbg("%s\n", "Nothing to change"); - return; - } - } - dbg("%s - clfag %08x iflag %08x", __FUNCTION__, tty->termios->c_cflag, RELEVANT_IFLAG(tty->termios->c_iflag)); @@ -2258,30 +2248,6 @@ static int mos7840_get_lsr_info(struct moschip_port *mos7840_port, } /***************************************************************************** - * mos7840_get_bytes_avail - get number of bytes available - * - * Purpose: Let user call ioctl to get the count of number of bytes available. - *****************************************************************************/ - -static int mos7840_get_bytes_avail(struct moschip_port *mos7840_port, - unsigned int __user *value) -{ - unsigned int result = 0; - struct tty_struct *tty = mos7840_port->port->tty; - - if (!tty) - return -ENOIOCTLCMD; - - result = tty->read_cnt; - - dbg("%s(%d) = %d", __FUNCTION__, mos7840_port->port->number, result); - if (copy_to_user(value, &result, sizeof(int))) - return -EFAULT; - - return -ENOIOCTLCMD; -} - -/***************************************************************************** * mos7840_set_modem_info * function to set modem info *****************************************************************************/ @@ -2429,8 +2395,6 @@ static int mos7840_ioctl(struct usb_serial_port *port, struct file *file, struct async_icount cprev; struct serial_icounter_struct icount; int mosret = 0; - int retval; - struct tty_ldisc *ld; if (mos7840_port_paranoia_check(port, __FUNCTION__)) { dbg("%s", "Invalid port \n"); @@ -2449,42 +2413,6 @@ static int mos7840_ioctl(struct usb_serial_port *port, struct file *file, switch (cmd) { /* return number of bytes available */ - case TIOCINQ: - dbg("%s (%d) TIOCINQ", __FUNCTION__, port->number); - return mos7840_get_bytes_avail(mos7840_port, argp); - - case TIOCOUTQ: - dbg("%s (%d) TIOCOUTQ", __FUNCTION__, port->number); - return put_user(tty->driver->chars_in_buffer ? - tty->driver->chars_in_buffer(tty) : 0, - (int __user *)arg); - - case TCFLSH: - retval = tty_check_change(tty); - if (retval) - return retval; - - ld = tty_ldisc_ref(tty); - switch (arg) { - case TCIFLUSH: - if (ld && ld->flush_buffer) - ld->flush_buffer(tty); - break; - case TCIOFLUSH: - if (ld && ld->flush_buffer) - ld->flush_buffer(tty); - /* fall through */ - case TCOFLUSH: - if (tty->driver->flush_buffer) - tty->driver->flush_buffer(tty); - break; - default: - tty_ldisc_deref(ld); - return -EINVAL; - } - tty_ldisc_deref(ld); - return 0; - case TIOCSERGETLSR: dbg("%s (%d) TIOCSERGETLSR", __FUNCTION__, port->number); return mos7840_get_lsr_info(mos7840_port, argp); |