Commit 7edf2c9c authored by Oliver Neukum's avatar Oliver Neukum Committed by Dmitry Torokhov

Input: acecad - stop saving struct usb_device

The device can now easily be derived from the interface.
Stop leaving a private copy.
Signed-off-by: default avatarOliver Neukum <ONeukum@suse.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent d314e9e8
......@@ -49,7 +49,6 @@ MODULE_LICENSE(DRIVER_LICENSE);
struct usb_acecad {
char name[128];
char phys[64];
struct usb_device *usbdev;
struct usb_interface *intf;
struct input_dev *input;
struct urb *irq;
......@@ -64,6 +63,7 @@ static void usb_acecad_irq(struct urb *urb)
unsigned char *data = acecad->data;
struct input_dev *dev = acecad->input;
struct usb_interface *intf = acecad->intf;
struct usb_device *udev = interface_to_usbdev(intf);
int prox, status;
switch (urb->status) {
......@@ -110,15 +110,15 @@ static void usb_acecad_irq(struct urb *urb)
if (status)
dev_err(&intf->dev,
"can't resubmit intr, %s-%s/input0, status %d\n",
acecad->usbdev->bus->bus_name,
acecad->usbdev->devpath, status);
udev->bus->bus_name,
udev->devpath, status);
}
static int usb_acecad_open(struct input_dev *dev)
{
struct usb_acecad *acecad = input_get_drvdata(dev);
acecad->irq->dev = acecad->usbdev;
acecad->irq->dev = interface_to_usbdev(acecad->intf);
if (usb_submit_urb(acecad->irq, GFP_KERNEL))
return -EIO;
......@@ -172,7 +172,6 @@ static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_
goto fail2;
}
acecad->usbdev = dev;
acecad->intf = intf;
acecad->input = input_dev;
......@@ -251,12 +250,13 @@ static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_
static void usb_acecad_disconnect(struct usb_interface *intf)
{
struct usb_acecad *acecad = usb_get_intfdata(intf);
struct usb_device *udev = interface_to_usbdev(intf);
usb_set_intfdata(intf, NULL);
input_unregister_device(acecad->input);
usb_free_urb(acecad->irq);
usb_free_coherent(acecad->usbdev, 8, acecad->data, acecad->data_dma);
usb_free_coherent(udev, 8, acecad->data, acecad->data_dma);
kfree(acecad);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment