Message ID | 20240522092257.19373-1-huanglei814@163.com |
---|---|
State | New |
Headers | show |
Series | HID: usbhid: enable remote wakeup for mouse | expand |
Just wanted to support mouse wake up. Set it in userspace will be a better choice, Now,canceled the patch. 在 2024/5/22 18:00, Oliver Neukum 写道: > On 22.05.24 11:22, huanglei814 wrote: >> From: huanglei <huanglei@kylinos.cn> >> >> This patch enables remote wakeup by default for USB mouse >> devices. Mouse can used to be wakeup devices, but the correct >> place to enable it depends on the device's bus; no single >> approach will work for all mouse devices. In particular, this >> covers only USB mouse (and then only those supporting the boot >> protocol). > > Hi, > > could you explain in the log why you want this to depend > on support for the boot protocol? > > Regards > Oliver
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index a90ed2ceae84..7ed3ab36426d 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -1189,6 +1189,15 @@ static int usbhid_start(struct hid_device *hid) device_set_wakeup_enable(&dev->dev, 1); } + /* enable remote wakeup by default for all mouse + * devices supporting the boot protocol. + */ + if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT && + interface->desc.bInterfaceProtocol == + USB_INTERFACE_PROTOCOL_MOUSE) { + device_set_wakeup_enable(&dev->dev, 1); + } + mutex_unlock(&usbhid->mutex); return 0;