int buffer_size;
        int i;
        int j;
-       int num_interrupt_in = 0;
-       int num_interrupt_out = 0;
-       int num_bulk_in = 0;
-       int num_bulk_out = 0;
+       unsigned char num_interrupt_in = 0;
+       unsigned char num_interrupt_out = 0;
+       unsigned char num_bulk_in = 0;
+       unsigned char num_bulk_out = 0;
        int num_ports = 0;
-       int max_endpoints;
+       unsigned char max_endpoints;
 
        mutex_lock(&table_lock);
        type = search_serial_device(interface);
                num_ports = MAX_NUM_PORTS;
        }
 
-       serial->num_ports = num_ports;
+       serial->num_ports = (unsigned char)num_ports;
        serial->num_bulk_in = num_bulk_in;
        serial->num_bulk_out = num_bulk_out;
        serial->num_interrupt_in = num_interrupt_in;
        max_endpoints = max(num_bulk_in, num_bulk_out);
        max_endpoints = max(max_endpoints, num_interrupt_in);
        max_endpoints = max(max_endpoints, num_interrupt_out);
-       max_endpoints = max(max_endpoints, (int)serial->num_ports);
+       max_endpoints = max(max_endpoints, serial->num_ports);
        serial->num_port_pointers = max_endpoints;
 
        dev_dbg(ddev, "setting up %d port structure(s)\n", max_endpoints);
 
        unsigned char                   minors_reserved:1;
        unsigned char                   num_ports;
        unsigned char                   num_port_pointers;
-       char                            num_interrupt_in;
-       char                            num_interrupt_out;
-       char                            num_bulk_in;
-       char                            num_bulk_out;
+       unsigned char                   num_interrupt_in;
+       unsigned char                   num_interrupt_out;
+       unsigned char                   num_bulk_in;
+       unsigned char                   num_bulk_out;
        struct usb_serial_port          *port[MAX_NUM_PORTS];
        struct kref                     kref;
        struct mutex                    disc_mutex;
 struct usb_serial_driver {
        const char *description;
        const struct usb_device_id *id_table;
-       char    num_ports;
 
        struct list_head        driver_list;
        struct device_driver    driver;
        struct usb_driver       *usb_driver;
        struct usb_dynids       dynids;
 
+       unsigned char           num_ports;
+
        size_t                  bulk_in_size;
        size_t                  bulk_out_size;