Staging: line6: Fix Sparse Warning of incorrect type
authorRashika Kheria <rashika.kheria@gmail.com>
Sat, 26 Oct 2013 11:45:21 +0000 (17:15 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 28 Oct 2013 03:43:46 +0000 (20:43 -0700)
This patch fixes the following sparse warnings in toneport.c-

drivers/staging/line6/toneport.c:329:48: warning: incorrect type in argument 1 (different base types)
drivers/staging/line6/toneport.c:329:48:    expected short [signed] product
drivers/staging/line6/toneport.c:329:48:    got restricted __le16 [usertype] idProduct
drivers/staging/line6/toneport.c:385:48: warning: incorrect type in argument 1 (different base types)
drivers/staging/line6/toneport.c:385:48:    expected short [signed] product
drivers/staging/line6/toneport.c:385:48:    got restricted __le16 [usertype] idProduct
drivers/staging/line6/toneport.c:438:64: warning: incorrect type in argument 1 (different base types)
drivers/staging/line6/toneport.c:438:64:    expected short [signed] product
drivers/staging/line6/toneport.c:438:64:    got restricted __le16 [usertype] idProduct

Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/line6/toneport.c

index 7bca1e2..af2e7e5 100644 (file)
@@ -307,6 +307,7 @@ static void toneport_setup(struct usb_line6_toneport *toneport)
        int ticks;
        struct usb_line6 *line6 = &toneport->line6;
        struct usb_device *usbdev = line6->usbdev;
+       u16 idProduct = le16_to_cpu(usbdev->descriptor.idProduct);
 
        /* sync time on device with host: */
        ticks = (int)get_seconds();
@@ -326,7 +327,7 @@ static void toneport_setup(struct usb_line6_toneport *toneport)
                                  0x0000);
        }
 
-       if (toneport_has_led(usbdev->descriptor.idProduct))
+       if (toneport_has_led(idProduct))
                toneport_update_led(&usbdev->dev);
 }
 
@@ -339,6 +340,7 @@ static int toneport_try_init(struct usb_interface *interface,
        int err;
        struct usb_line6 *line6 = &toneport->line6;
        struct usb_device *usbdev = line6->usbdev;
+       u16 idProduct = le16_to_cpu(usbdev->descriptor.idProduct);
 
        if ((interface == NULL) || (toneport == NULL))
                return -ENODEV;
@@ -382,7 +384,7 @@ static int toneport_try_init(struct usb_interface *interface,
        line6_read_serial_number(line6, &toneport->serial_number);
        line6_read_data(line6, 0x80c2, &toneport->firmware_version, 1);
 
-       if (toneport_has_led(usbdev->descriptor.idProduct)) {
+       if (toneport_has_led(idProduct)) {
                CHECK_RETURN(device_create_file
                             (&interface->dev, &dev_attr_led_red));
                CHECK_RETURN(device_create_file
@@ -428,14 +430,16 @@ void line6_toneport_reset_resume(struct usb_line6_toneport *toneport)
 void line6_toneport_disconnect(struct usb_interface *interface)
 {
        struct usb_line6_toneport *toneport;
+       u16 idProduct;
 
        if (interface == NULL)
                return;
 
        toneport = usb_get_intfdata(interface);
        del_timer_sync(&toneport->timer);
+       idProduct = le16_to_cpu(toneport->line6.usbdev->descriptor.idProduct);
 
-       if (toneport_has_led(toneport->line6.usbdev->descriptor.idProduct)) {
+       if (toneport_has_led(idProduct)) {
                device_remove_file(&interface->dev, &dev_attr_led_red);
                device_remove_file(&interface->dev, &dev_attr_led_green);
        }