]> git.karo-electronics.de Git - linux-beck.git/blobdiff - drivers/usb/serial/sierra.c
USB: serial: remove usb_serial_disconnect call in all drivers
[linux-beck.git] / drivers / usb / serial / sierra.c
index f14465a83dd1f53e1688c399a950bf67f3ed501a..11be3c6c958c71ff37b2085ace1d3e37e91910c3 100644 (file)
@@ -63,9 +63,7 @@ struct sierra_intf_private {
 
 static int sierra_set_power_state(struct usb_device *udev, __u16 swiState)
 {
-       int result;
-       dev_dbg(&udev->dev, "%s\n", __func__);
-       result = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
+       return usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                        SWIMS_USB_REQUEST_SetPower,     /* __u8 request      */
                        USB_TYPE_VENDOR,                /* __u8 request type */
                        swiState,                       /* __u16 value       */
@@ -73,14 +71,11 @@ static int sierra_set_power_state(struct usb_device *udev, __u16 swiState)
                        NULL,                           /* void *data        */
                        0,                              /* __u16 size        */
                        USB_CTRL_SET_TIMEOUT);          /* int timeout       */
-       return result;
 }
 
 static int sierra_vsc_set_nmea(struct usb_device *udev, __u16 enable)
 {
-       int result;
-       dev_dbg(&udev->dev, "%s\n", __func__);
-       result = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
+       return usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                        SWIMS_USB_REQUEST_SetNmea,      /* __u8 request      */
                        USB_TYPE_VENDOR,                /* __u8 request type */
                        enable,                         /* __u16 value       */
@@ -88,7 +83,6 @@ static int sierra_vsc_set_nmea(struct usb_device *udev, __u16 enable)
                        NULL,                           /* void *data        */
                        0,                              /* __u16 size        */
                        USB_CTRL_SET_TIMEOUT);          /* int timeout       */
-       return result;
 }
 
 static int sierra_calc_num_ports(struct usb_serial *serial)
@@ -96,8 +90,6 @@ static int sierra_calc_num_ports(struct usb_serial *serial)
        int num_ports = 0;
        u8 ifnum, numendpoints;
 
-       dev_dbg(&serial->dev->dev, "%s\n", __func__);
-
        ifnum = serial->interface->cur_altsetting->desc.bInterfaceNumber;
        numendpoints = serial->interface->cur_altsetting->desc.bNumEndpoints;
 
@@ -150,7 +142,6 @@ static int sierra_calc_interface(struct usb_serial *serial)
        int interface;
        struct usb_interface *p_interface;
        struct usb_host_interface *p_host_interface;
-       dev_dbg(&serial->dev->dev, "%s\n", __func__);
 
        /* Get the interface structure pointer from the serial struct */
        p_interface = serial->interface;
@@ -175,9 +166,8 @@ static int sierra_probe(struct usb_serial *serial,
        u8 ifnum;
 
        udev = serial->dev;
-       dev_dbg(&udev->dev, "%s\n", __func__);
-
        ifnum = sierra_calc_interface(serial);
+
        /*
         * If this interface supports more than 1 alternate
         * select the 2nd one
@@ -221,7 +211,7 @@ static const struct sierra_iface_info typeB_interface_list = {
 };
 
 /* 'blacklist' of interfaces not served by this driver */
-static const u8 direct_ip_non_serial_ifaces[] = { 7, 8, 9, 10, 11 };
+static const u8 direct_ip_non_serial_ifaces[] = { 7, 8, 9, 10, 11, 19, 20 };
 static const struct sierra_iface_info direct_ip_interface_blacklist = {
        .infolen = ARRAY_SIZE(direct_ip_non_serial_ifaces),
        .ifaceinfo = direct_ip_non_serial_ifaces,
@@ -298,6 +288,9 @@ static const struct usb_device_id id_table[] = {
        /* Sierra Wireless HSPA Non-Composite Device */
        { USB_DEVICE_AND_INTERFACE_INFO(0x1199, 0x6892, 0xFF, 0xFF, 0xFF)},
        { USB_DEVICE(0x1199, 0x6893) }, /* Sierra Wireless Device */
+       { USB_DEVICE(0x1199, 0x68A2),   /* Sierra Wireless MC77xx in QMI mode */
+         .driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist
+       },
        { USB_DEVICE(0x1199, 0x68A3),   /* Sierra Wireless Direct IP modems */
          .driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist
        },
@@ -341,8 +334,6 @@ static int sierra_send_setup(struct usb_serial_port *port)
        int do_send = 0;
        int retval;
 
-       dev_dbg(&port->dev, "%s\n", __func__);
-
        portdata = usb_get_serial_port_data(port);
 
        if (portdata->dtr_state)
@@ -390,7 +381,6 @@ static int sierra_send_setup(struct usb_serial_port *port)
 static void sierra_set_termios(struct tty_struct *tty,
                struct usb_serial_port *port, struct ktermios *old_termios)
 {
-       dev_dbg(&port->dev, "%s\n", __func__);
        tty_termios_copy_hw(tty->termios, old_termios);
        sierra_send_setup(port);
 }
@@ -401,7 +391,6 @@ static int sierra_tiocmget(struct tty_struct *tty)
        unsigned int value;
        struct sierra_port_private *portdata;
 
-       dev_dbg(&port->dev, "%s\n", __func__);
        portdata = usb_get_serial_port_data(port);
 
        value = ((portdata->rts_state) ? TIOCM_RTS : 0) |
@@ -438,8 +427,7 @@ static void sierra_release_urb(struct urb *urb)
 {
        struct usb_serial_port *port;
        if (urb) {
-               port =  urb->context;
-               dev_dbg(&port->dev, "%s: %p\n", __func__, urb);
+               port = urb->context;
                kfree(urb->transfer_buffer);
                usb_free_urb(urb);
        }
@@ -452,7 +440,6 @@ static void sierra_outdat_callback(struct urb *urb)
        struct sierra_intf_private *intfdata;
        int status = urb->status;
 
-       dev_dbg(&port->dev, "%s - port %d\n", __func__, port->number);
        intfdata = port->serial->private;
 
        /* free up the transfer buffer, as usb_free_urb() does not do this */
@@ -595,8 +582,6 @@ static void sierra_indat_callback(struct urb *urb)
        endpoint = usb_pipeendpoint(urb->pipe);
        port = urb->context;
 
-       dev_dbg(&port->dev, "%s: %p\n", __func__, urb);
-
        if (status) {
                dev_dbg(&port->dev, "%s: nonzero status: %d on"
                        " endpoint %02x\n", __func__, status, endpoint);
@@ -694,8 +679,6 @@ static int sierra_write_room(struct tty_struct *tty)
        struct sierra_port_private *portdata = usb_get_serial_port_data(port);
        unsigned long flags;
 
-       dev_dbg(&port->dev, "%s - port %d\n", __func__, port->number);
-
        /* try to give a good number back based on if we have any free urbs at
         * this point in time */
        spin_lock_irqsave(&portdata->lock, flags);
@@ -802,8 +785,6 @@ static void sierra_close(struct usb_serial_port *port)
        struct sierra_port_private *portdata;
        struct sierra_intf_private *intfdata = port->serial->private;
 
-
-       dev_dbg(&port->dev, "%s\n", __func__);
        portdata = usb_get_serial_port_data(port);
 
        portdata->rts_state = 0;
@@ -848,8 +829,6 @@ static int sierra_open(struct tty_struct *tty, struct usb_serial_port *port)
 
        portdata = usb_get_serial_port_data(port);
 
-       dev_dbg(&port->dev, "%s\n", __func__);
-
        /* Set some sane defaults */
        portdata->rts_state = 1;
        portdata->dtr_state = 1;
@@ -912,8 +891,6 @@ static int sierra_startup(struct usb_serial *serial)
        int i;
        u8 ifnum;
 
-       dev_dbg(&serial->dev->dev, "%s\n", __func__);
-
        /* Set Device mode to D0 */
        sierra_set_power_state(serial->dev, 0x0000);
 
@@ -974,8 +951,6 @@ static void sierra_release(struct usb_serial *serial)
        struct usb_serial_port *port;
        struct sierra_port_private *portdata;
 
-       dev_dbg(&serial->dev->dev, "%s\n", __func__);
-
        for (i = 0; i < serial->num_ports; ++i) {
                port = serial->port[i];
                if (!port)
@@ -1078,13 +1053,8 @@ static int sierra_reset_resume(struct usb_interface *intf)
 
 static struct usb_driver sierra_driver = {
        .name       = "sierra",
-       .probe      = usb_serial_probe,
-       .disconnect = usb_serial_disconnect,
-       .suspend    = usb_serial_suspend,
-       .resume     = usb_serial_resume,
        .reset_resume = sierra_reset_resume,
        .id_table   = id_table,
-       .supports_autosuspend = 1,
 };
 
 static struct usb_serial_driver sierra_device = {