USB: serial: io_ti: add read-port-command helper
authorJohan Hovold <johan@kernel.org>
Mon, 12 Apr 2021 09:47:31 +0000 (11:47 +0200)
committerJohan Hovold <johan@kernel.org>
Tue, 13 Apr 2021 16:23:29 +0000 (18:23 +0200)
Add a read-port-command helper analogous to the send-port-command
helper to take care of the UART module id instead of open coding.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/io_ti.c

index f65a712..480a73a 100644 (file)
@@ -284,6 +284,14 @@ static int ti_vsend_sync(struct usb_device *dev, u8 request, u16 value,
        return 0;
 }
 
+static int read_port_cmd(struct usb_serial_port *port, u8 command, u16 value,
+               void *data, int size)
+{
+       return ti_vread_sync(port->serial->dev, command, value,
+                       UMPM_UART1_PORT + port->port_number,
+                       data, size);
+}
+
 static int send_port_cmd(struct usb_serial_port *port, u8 command, u16 value,
                void *data, int size)
 {
@@ -1826,7 +1834,6 @@ static int edge_open(struct tty_struct *tty, struct usb_serial_port *port)
        struct edgeport_serial *edge_serial;
        struct usb_device *dev;
        struct urb *urb;
-       int port_number;
        int status;
        u16 open_settings;
        u8 transaction_timeout;
@@ -1834,8 +1841,6 @@ static int edge_open(struct tty_struct *tty, struct usb_serial_port *port)
        if (edge_port == NULL)
                return -ENODEV;
 
-       port_number = port->port_number;
-
        dev = port->serial->dev;
 
        /* turn off loopback */
@@ -1892,9 +1897,7 @@ static int edge_open(struct tty_struct *tty, struct usb_serial_port *port)
        }
 
        /* Read Initial MSR */
-       status = ti_vread_sync(dev, UMPC_READ_MSR, 0,
-                               (__u16)(UMPM_UART1_PORT + port_number),
-                               &edge_port->shadow_msr, 1);
+       status = read_port_cmd(port, UMPC_READ_MSR, 0, &edge_port->shadow_msr, 1);
        if (status) {
                dev_err(&port->dev, "%s - cannot send read MSR command, %d\n",
                                                        __func__, status);