diff --git a/drivers/input/misc/yealink.c b/drivers/input/misc/yealink.c index 37b126c06fc1..285a5bd6cbc9 100644 --- a/drivers/input/misc/yealink.c +++ b/drivers/input/misc/yealink.c @@ -101,6 +101,7 @@ static const struct lcd_segment_map { struct yealink_dev { struct input_dev *idev; /* input device */ struct usb_device *udev; /* usb device */ + struct usb_interface *intf; /* usb interface */ /* irq input channel */ struct yld_ctl_packet *irq_data; @@ -428,7 +429,7 @@ static void urb_irq_callback(struct urb *urb) int ret, status = urb->status; if (status) - dev_err(&yld->idev->dev, "%s - urb status %d\n", + dev_err(&yld->intf->dev, "%s - urb status %d\n", __func__, status); switch (yld->irq_data->cmd) { @@ -438,14 +439,14 @@ static void urb_irq_callback(struct urb *urb) break; case CMD_SCANCODE: - dev_dbg(&yld->idev->dev, "get scancode %x\n", + dev_dbg(&yld->intf->dev, "get scancode %x\n", yld->irq_data->data[0]); report_key(yld, map_p1k_to_key(yld->irq_data->data[0])); break; default: - dev_err(&yld->idev->dev, "unexpected response %x\n", + dev_err(&yld->intf->dev, "unexpected response %x\n", yld->irq_data->cmd); } @@ -454,7 +455,7 @@ static void urb_irq_callback(struct urb *urb) if (!yld->shutdown) { ret = usb_submit_urb(yld->urb_ctl, GFP_ATOMIC); if (ret && ret != -EPERM) - dev_err(&yld->idev->dev, + dev_err(&yld->intf->dev, "%s - usb_submit_urb failed %d\n", __func__, ret); } @@ -466,7 +467,7 @@ static void urb_ctl_callback(struct urb *urb) int ret = 0, status = urb->status; if (status) - dev_err(&yld->idev->dev, "%s - urb status %d\n", + dev_err(&yld->intf->dev, "%s - urb status %d\n", __func__, status); switch (yld->ctl_data->cmd) { @@ -485,7 +486,7 @@ static void urb_ctl_callback(struct urb *urb) } if (ret && ret != -EPERM) - dev_err(&yld->idev->dev, "%s - usb_submit_urb failed %d\n", + dev_err(&yld->intf->dev, "%s - usb_submit_urb failed %d\n", __func__, ret); } @@ -518,7 +519,7 @@ static int input_open(struct input_dev *dev) struct yealink_dev *yld = input_get_drvdata(dev); int i, ret; - dev_dbg(&yld->idev->dev, "%s\n", __func__); + dev_dbg(&yld->intf->dev, "%s\n", __func__); /* force updates to device */ for (i = 0; imaster); i++) @@ -533,7 +534,7 @@ static int input_open(struct input_dev *dev) yld->ctl_data->size = 10; yld->ctl_data->sum = 0x100-CMD_INIT-10; if ((ret = usb_submit_urb(yld->urb_ctl, GFP_KERNEL)) != 0) { - dev_dbg(&yld->idev->dev, + dev_dbg(&yld->intf->dev, "%s - usb_submit_urb failed with result %d\n", __func__, ret); return ret; @@ -884,6 +885,7 @@ static int usb_probe(struct usb_interface *intf, const struct usb_device_id *id) return -ENOMEM; yld->udev = udev; + yld->intf = intf; yld->idev = input_dev = input_allocate_device(); if (!input_dev)