USB: ISP1760: fixed trivial math in comment
[deliverable/linux.git] / drivers / usb / serial / option.c
index 4350990abf1467a57f45ab5eac9917486c5890bb..e143198aeb028e0bec63189cf8d4ace46e778a70 100644 (file)
 #include <linux/usb/serial.h>
 
 /* Function prototypes */
-static int  option_open(struct tty_struct *tty, struct usb_serial_port *port, struct file *filp);
-static void option_close(struct tty_struct *tty, struct usb_serial_port *port, struct file *filp);
+static int  option_open(struct tty_struct *tty, struct usb_serial_port *port,
+                                                       struct file *filp);
+static void option_close(struct tty_struct *tty, struct usb_serial_port *port,
+                                                       struct file *filp);
 static int  option_startup(struct usb_serial *serial);
 static void option_shutdown(struct usb_serial *serial);
 static int  option_write_room(struct tty_struct *tty);
@@ -184,6 +186,23 @@ static int  option_send_setup(struct tty_struct *tty, struct usb_serial_port *po
 #define BANDRICH_VENDOR_ID                     0x1A8D
 #define BANDRICH_PRODUCT_C100_1                        0x1002
 #define BANDRICH_PRODUCT_C100_2                        0x1003
+#define BANDRICH_PRODUCT_1004                  0x1004
+#define BANDRICH_PRODUCT_1005                  0x1005
+#define BANDRICH_PRODUCT_1006                  0x1006
+#define BANDRICH_PRODUCT_1007                  0x1007
+#define BANDRICH_PRODUCT_1008                  0x1008
+#define BANDRICH_PRODUCT_1009                  0x1009
+#define BANDRICH_PRODUCT_100A                  0x100a
+
+#define BANDRICH_PRODUCT_100B                  0x100b
+#define BANDRICH_PRODUCT_100C                  0x100c
+#define BANDRICH_PRODUCT_100D                  0x100d
+#define BANDRICH_PRODUCT_100E                  0x100e
+
+#define BANDRICH_PRODUCT_100F                  0x100f
+#define BANDRICH_PRODUCT_1010                  0x1010
+#define BANDRICH_PRODUCT_1011                  0x1011
+#define BANDRICH_PRODUCT_1012                  0x1012
 
 #define AMOI_VENDOR_ID                 0x1614
 #define AMOI_PRODUCT_9508                      0x0800
@@ -195,6 +214,10 @@ static int  option_send_setup(struct tty_struct *tty, struct usb_serial_port *po
 #define TELIT_VENDOR_ID                                0x1bc7
 #define TELIT_PRODUCT_UC864E                   0x1003
 
+/* ZTE PRODUCTS */
+#define ZTE_VENDOR_ID                          0x19d2
+#define ZTE_PRODUCT_MF628                      0x0015
+
 static struct usb_device_id option_ids[] = {
        { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
        { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
@@ -300,12 +323,28 @@ static struct usb_device_id option_ids[] = {
        { USB_DEVICE(ONDA_VENDOR_ID, ONDA_PRODUCT_ET502HS) },
        { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_1) },
        { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_2) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1004) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1005) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1006) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1007) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1008) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1009) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100A) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100B) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100C) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100D) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100E) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100F) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1010) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1011) },
+       { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1012) },
        { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC650) },
        { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC680) },
        { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6000)}, /* ZTE AC8700 */
        { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */
        { USB_DEVICE(MAXON_VENDOR_ID, 0x6280) }, /* BP3-USB & BP3-EXT HSDPA */
        { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) },
+       { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF628) },
        { } /* Terminating entry */
 };
 MODULE_DEVICE_TABLE(usb, option_ids);
@@ -344,11 +383,7 @@ static struct usb_serial_driver option_1port_device = {
        .read_int_callback = option_instat_callback,
 };
 
-#ifdef CONFIG_USB_DEBUG
 static int debug;
-#else
-#define debug 0
-#endif
 
 /* per port private data */
 
@@ -393,15 +428,15 @@ static int __init option_init(void)
        return 0;
 
 failed_driver_register:
-       usb_serial_deregister (&option_1port_device);
+       usb_serial_deregister(&option_1port_device);
 failed_1port_device_register:
        return retval;
 }
 
 static void __exit option_exit(void)
 {
-       usb_deregister (&option_driver);
-       usb_serial_deregister (&option_1port_device);
+       usb_deregister(&option_driver);
+       usb_serial_deregister(&option_1port_device);
 }
 
 module_init(option_init);
@@ -471,7 +506,7 @@ static int option_write(struct tty_struct *tty, struct usb_serial_port *port,
 
        i = 0;
        left = count;
-       for (i=0; left > 0 && i < N_OUT_URB; i++) {
+       for (i = 0; left > 0 && i < N_OUT_URB; i++) {
                todo = left;
                if (todo > OUT_BUFLEN)
                        todo = OUT_BUFLEN;
@@ -492,7 +527,7 @@ static int option_write(struct tty_struct *tty, struct usb_serial_port *port,
                        usb_pipeendpoint(this_urb->pipe), i);
 
                /* send the data */
-               memcpy (this_urb->transfer_buffer, buf, todo);
+               memcpy(this_urb->transfer_buffer, buf, todo);
                this_urb->transfer_buffer_length = todo;
 
                this_urb->dev = port->serial->dev;
@@ -583,7 +618,7 @@ static void option_instat_callback(struct urb *urb)
        struct usb_serial *serial = port->serial;
 
        dbg("%s", __func__);
-       dbg("%s: urb %p port %p has data %p", __func__,urb,port,portdata);
+       dbg("%s: urb %p port %p has data %p", __func__, urb, port, portdata);
 
        if (status == 0) {
                struct usb_ctrlrequest *req_pkt =
@@ -613,7 +648,7 @@ static void option_instat_callback(struct urb *urb)
                                tty_hangup(port->port.tty);
                } else {
                        dbg("%s: type %x req %x", __func__,
-                               req_pkt->bRequestType,req_pkt->bRequest);
+                               req_pkt->bRequestType, req_pkt->bRequest);
                }
        } else
                dbg("%s: error %d", __func__, status);
@@ -639,7 +674,7 @@ static int option_write_room(struct tty_struct *tty)
        portdata = usb_get_serial_port_data(port);
 
 
-       for (i=0; i < N_OUT_URB; i++) {
+       for (i = 0; i < N_OUT_URB; i++) {
                this_urb = portdata->out_urbs[i];
                if (this_urb && !test_bit(i, &portdata->out_busy))
                        data_len += OUT_BUFLEN;
@@ -659,7 +694,7 @@ static int option_chars_in_buffer(struct tty_struct *tty)
 
        portdata = usb_get_serial_port_data(port);
 
-       for (i=0; i < N_OUT_URB; i++) {
+       for (i = 0; i < N_OUT_URB; i++) {
                this_urb = portdata->out_urbs[i];
                /* FIXME: This locking is insufficient as this_urb may
                   go unused during the test */
@@ -689,7 +724,7 @@ static int option_open(struct tty_struct *tty,
        /* Reset low level data toggle and start reading from endpoints */
        for (i = 0; i < N_IN_URB; i++) {
                urb = portdata->in_urbs[i];
-               if (! urb)
+               if (!urb)
                        continue;
                if (urb->dev != serial->dev) {
                        dbg("%s: dev %p != %p", __func__,
@@ -714,7 +749,7 @@ static int option_open(struct tty_struct *tty,
        /* Reset low level data toggle on out endpoints */
        for (i = 0; i < N_OUT_URB; i++) {
                urb = portdata->out_urbs[i];
-               if (! urb)
+               if (!urb)
                        continue;
                urb->dev = serial->dev;
                /* usb_settoggle(urb->dev, usb_pipeendpoint(urb->pipe),
@@ -726,7 +761,7 @@ static int option_open(struct tty_struct *tty,
 
        option_send_setup(tty, port);
 
-       return (0);
+       return 0;
 }
 
 static void option_close(struct tty_struct *tty,
@@ -784,7 +819,7 @@ static struct urb *option_setup_urb(struct usb_serial *serial, int endpoint,
 /* Setup urbs */
 static void option_setup_urbs(struct usb_serial *serial)
 {
-       int i,j;
+       int i, j;
        struct usb_serial_port *port;
        struct option_port_private *portdata;
 
@@ -794,18 +829,22 @@ static void option_setup_urbs(struct usb_serial *serial)
                port = serial->port[i];
                portdata = usb_get_serial_port_data(port);
 
-       /* Do indat endpoints first */
+               /* Do indat endpoints first */
                for (j = 0; j < N_IN_URB; ++j) {
-                       portdata->in_urbs[j] = option_setup_urb (serial,
-                       port->bulk_in_endpointAddress, USB_DIR_IN, port,
-                       portdata->in_buffer[j], IN_BUFLEN, option_indat_callback);
+                       portdata->in_urbs[j] = option_setup_urb(serial,
+                                       port->bulk_in_endpointAddress,
+                                       USB_DIR_IN, port,
+                                       portdata->in_buffer[j],
+                                       IN_BUFLEN, option_indat_callback);
                }
 
                /* outdat endpoints */
                for (j = 0; j < N_OUT_URB; ++j) {
-                       portdata->out_urbs[j] = option_setup_urb (serial,
-                       port->bulk_out_endpointAddress, USB_DIR_OUT, port,
-                       portdata->out_buffer[j], OUT_BUFLEN, option_outdat_callback);
+                       portdata->out_urbs[j] = option_setup_urb(serial,
+                                       port->bulk_out_endpointAddress,
+                                       USB_DIR_OUT, port,
+                                       portdata->out_buffer[j],
+                                       OUT_BUFLEN, option_outdat_callback);
                }
        }
 }
@@ -834,8 +873,8 @@ static int option_send_setup(struct tty_struct *tty,
                        val |= 0x02;
 
                return usb_control_msg(serial->dev,
-                               usb_rcvctrlpipe(serial->dev, 0),
-                               0x22,0x21,val,ifNum,NULL,0,USB_CTRL_SET_TIMEOUT);
+                       usb_rcvctrlpipe(serial->dev, 0),
+                       0x22, 0x21, val, ifNum, NULL, 0, USB_CTRL_SET_TIMEOUT);
        }
        return 0;
 }
@@ -856,7 +895,7 @@ static int option_startup(struct usb_serial *serial)
                if (!portdata) {
                        dbg("%s: kmalloc for option_port_private (%d) failed!.",
                                        __func__, i);
-                       return (1);
+                       return 1;
                }
 
                for (j = 0; j < N_IN_URB; j++) {
@@ -875,17 +914,15 @@ static int option_startup(struct usb_serial *serial)
 
                usb_set_serial_port_data(port, portdata);
 
-               if (! port->interrupt_in_urb)
+               if (!port->interrupt_in_urb)
                        continue;
                err = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL);
                if (err)
                        dbg("%s: submit irq_in urb failed %d",
                                __func__, err);
        }
-
        option_setup_urbs(serial);
-
-       return (0);
+       return 0;
 
 bail_out_error2:
        for (j = 0; j < N_OUT_URB; j++)
@@ -924,7 +961,8 @@ static void option_shutdown(struct usb_serial *serial)
                for (j = 0; j < N_IN_URB; j++) {
                        if (portdata->in_urbs[j]) {
                                usb_free_urb(portdata->in_urbs[j]);
-                               free_page((unsigned long)portdata->in_buffer[j]);
+                               free_page((unsigned long)
+                                       portdata->in_buffer[j]);
                                portdata->in_urbs[j] = NULL;
                        }
                }
@@ -949,8 +987,5 @@ MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_VERSION(DRIVER_VERSION);
 MODULE_LICENSE("GPL");
 
-#ifdef CONFIG_USB_DEBUG
 module_param(debug, bool, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(debug, "Debug messages");
-#endif
-
This page took 0.042052 seconds and 5 git commands to generate.