|
@@ -909,26 +909,11 @@ static int mt_reset_resume(struct hid_device *hdev)
|
|
|
|
|
|
static int mt_resume(struct hid_device *hdev)
|
|
|
{
|
|
|
- struct usb_interface *intf;
|
|
|
- struct usb_host_interface *interface;
|
|
|
- struct usb_device *dev;
|
|
|
-
|
|
|
- if (hdev->bus != BUS_USB)
|
|
|
- return 0;
|
|
|
-
|
|
|
- intf = to_usb_interface(hdev->dev.parent);
|
|
|
- interface = intf->cur_altsetting;
|
|
|
- dev = interface_to_usbdev(intf);
|
|
|
-
|
|
|
/* Some Elan legacy devices require SET_IDLE to be set on resume.
|
|
|
* It should be safe to send it to other devices too.
|
|
|
* Tested on 3M, Stantum, Cypress, Zytronic, eGalax, and Elan panels. */
|
|
|
|
|
|
- usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
|
|
|
- HID_REQ_SET_IDLE,
|
|
|
- USB_TYPE_CLASS | USB_RECIP_INTERFACE,
|
|
|
- 0, interface->desc.bInterfaceNumber,
|
|
|
- NULL, 0, USB_CTRL_SET_TIMEOUT);
|
|
|
+ hid_hw_idle(hdev, 0, 0, HID_REQ_SET_IDLE);
|
|
|
|
|
|
return 0;
|
|
|
}
|