There is no need to keep a pointer to usb_serial in ti_port
structure.

Signed-off-by: Mathieu OTHACEHE <m.othac...@gmail.com>
---
 drivers/usb/serial/ti_usb_3410_5052.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/usb/serial/ti_usb_3410_5052.c 
b/drivers/usb/serial/ti_usb_3410_5052.c
index 48f9253..8350c6b 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -282,7 +282,6 @@ struct ti_port {
 struct ti_device {
        struct mutex            td_open_close_lock;
        int                     td_open_port_count;
-       struct usb_serial       *td_serial;
        int                     td_is_3410;
        bool                    td_rs485_only;
        int                     td_urb_error;
@@ -312,7 +311,7 @@ static int ti_get_serial_info(struct ti_port *tport,
 static int ti_set_serial_info(struct tty_struct *tty, struct ti_port *tport,
        struct serial_struct __user *new_arg);
 static void ti_handle_new_msr(struct usb_serial_port *port, u8 msr);
-static int ti_download_firmware(struct ti_device *tdev);
+static int ti_download_firmware(struct usb_serial *serial);
 
 static const struct usb_device_id ti_id_table_3410[] = {
        { USB_DEVICE(TI_VENDOR_ID, TI_3410_PRODUCT_ID) },
@@ -571,7 +570,6 @@ static int ti_startup(struct usb_serial *serial)
                return -ENOMEM;
 
        mutex_init(&tdev->td_open_close_lock);
-       tdev->td_serial = serial;
        usb_set_serial_data(serial, tdev);
 
        /* determine device type */
@@ -596,7 +594,7 @@ static int ti_startup(struct usb_serial *serial)
 
        /* if we have only 1 configuration and 1 endpoint, download firmware */
        if (dev->descriptor.bNumConfigurations == 1 && num_endpoints == 1) {
-               status = ti_download_firmware(tdev);
+               status = ti_download_firmware(serial);
 
                if (status != 0)
                        goto free_tdev;
@@ -705,7 +703,7 @@ static int ti_open(struct tty_struct *tty, struct 
usb_serial_port *port)
        /* start interrupt urb the first time a port is opened on this device */
        if (tdev->td_open_port_count == 0) {
                dev_dbg(&port->dev, "%s - start interrupt in urb\n", __func__);
-               urb = tdev->td_serial->port[0]->interrupt_in_urb;
+               urb = serial->port[0]->interrupt_in_urb;
                if (!urb) {
                        dev_err(&port->dev, "%s - no interrupt urb\n", 
__func__);
                        status = -EINVAL;
@@ -798,7 +796,7 @@ static int ti_open(struct tty_struct *tty, struct 
usb_serial_port *port)
 
 unlink_int_urb:
        if (tdev->td_open_port_count == 0)
-               usb_kill_urb(port->serial->port[0]->interrupt_in_urb);
+               usb_kill_urb(serial->port[0]->interrupt_in_urb);
 release_lock:
        mutex_unlock(&tdev->td_open_close_lock);
        return status;
@@ -1310,17 +1308,19 @@ static int ti_do_download(struct usb_device *dev, int 
pipe,
        return status;
 }
 
-static int ti_download_firmware(struct ti_device *tdev)
+static int ti_download_firmware(struct usb_serial *serial)
 {
        int status;
        int buffer_size;
        u8 *buffer;
-       struct usb_device *dev = tdev->td_serial->dev;
-       unsigned int pipe = usb_sndbulkpipe(dev,
-               tdev->td_serial->port[0]->bulk_out_endpointAddress);
+       struct usb_device *dev = serial->dev;
+       struct ti_device *tdev = usb_get_serial_data(serial);
+       unsigned int pipe;
        const struct firmware *fw_p;
        char buf[32];
 
+       pipe = usb_sndbulkpipe(dev, serial->port[0]->bulk_out_endpointAddress);
+
        if (le16_to_cpu(dev->descriptor.idVendor) == MXU1_VENDOR_ID) {
                snprintf(buf,
                        sizeof(buf),
-- 
2.8.2

--
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