Input: kbtab - stop saving struct usb_device
authorOliver Neukum <oneukum@suse.com>
Thu, 31 Mar 2016 18:01:48 +0000 (11:01 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 31 Mar 2016 20:13:42 +0000 (13:13 -0700)
The device can now easily be derived from the interface.
Stop leaving a private copy.

Signed-off-by: Oliver Neukum <ONeukum@suse.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/tablet/kbtab.c

index d2ac7c2..e850d7e 100644 (file)
@@ -31,7 +31,6 @@ struct kbtab {
        unsigned char *data;
        dma_addr_t data_dma;
        struct input_dev *dev;
-       struct usb_device *usbdev;
        struct usb_interface *intf;
        struct urb *irq;
        char phys[32];
@@ -99,8 +98,9 @@ MODULE_DEVICE_TABLE(usb, kbtab_ids);
 static int kbtab_open(struct input_dev *dev)
 {
        struct kbtab *kbtab = input_get_drvdata(dev);
+       struct usb_device *udev = interface_to_usbdev(kbtab->intf);
 
-       kbtab->irq->dev = kbtab->usbdev;
+       kbtab->irq->dev = udev;
        if (usb_submit_urb(kbtab->irq, GFP_KERNEL))
                return -EIO;
 
@@ -135,7 +135,6 @@ static int kbtab_probe(struct usb_interface *intf, const struct usb_device_id *i
        if (!kbtab->irq)
                goto fail2;
 
-       kbtab->usbdev = dev;
        kbtab->intf = intf;
        kbtab->dev = input_dev;
 
@@ -188,12 +187,13 @@ static int kbtab_probe(struct usb_interface *intf, const struct usb_device_id *i
 static void kbtab_disconnect(struct usb_interface *intf)
 {
        struct kbtab *kbtab = usb_get_intfdata(intf);
+       struct usb_device *udev = interface_to_usbdev(intf);
 
        usb_set_intfdata(intf, NULL);
 
        input_unregister_device(kbtab->dev);
        usb_free_urb(kbtab->irq);
-       usb_free_coherent(kbtab->usbdev, 8, kbtab->data, kbtab->data_dma);
+       usb_free_coherent(udev, 8, kbtab->data, kbtab->data_dma);
        kfree(kbtab);
 }