We extract TIOCGSERIAL section in f81232_ioctl() to f81232_get_serial_info()
to make it clarify

The f81232_set_mctrl() replace set_control_lines() to do MCR control
so we clean-up the set_control_lines() function.

Signed-off-by: Peter Hung <hpeter+linux_ker...@gmail.com>
---
 drivers/usb/serial/f81232.c | 34 +++++++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 11 deletions(-)

diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
index e1cdf42..4dddb44 100644
--- a/drivers/usb/serial/f81232.c
+++ b/drivers/usb/serial/f81232.c
@@ -516,24 +516,36 @@ static int f81232_carrier_raised(struct usb_serial_port 
*port)
        return 0;
 }
 
+static int f81232_get_serial_info(struct usb_serial_port *port,
+               unsigned long arg)
+{
+       struct serial_struct ser;
+
+       memset(&ser, 0, sizeof(ser));
+
+       ser.flags               = ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ;
+       ser.xmit_fifo_size      = port->bulk_out_size;
+       ser.close_delay         = 5 * HZ;
+       ser.closing_wait        = 30 * HZ;
+       ser.type = PORT_16550A;
+       ser.line = port->minor;
+       ser.port = port->port_number;
+       ser.baud_base = 115200;
+
+       if (copy_to_user((void __user *)arg, &ser, sizeof(ser)))
+               return -EFAULT;
+
+       return 0;
+}
+
 static int f81232_ioctl(struct tty_struct *tty,
                        unsigned int cmd, unsigned long arg)
 {
-       struct serial_struct ser;
        struct usb_serial_port *port = tty->driver_data;
 
        switch (cmd) {
        case TIOCGSERIAL:
-               memset(&ser, 0, sizeof ser);
-               ser.type = PORT_16654;
-               ser.line = port->minor;
-               ser.port = port->port_number;
-               ser.baud_base = 460800;
-
-               if (copy_to_user((void __user *)arg, &ser, sizeof ser))
-                       return -EFAULT;
-
-               return 0;
+               return f81232_get_serial_info(port, arg);
        default:
                break;
        }
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to