Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3d61510f authored by Alan Stern's avatar Alan Stern Committed by Jiri Kosina
Browse files

HID: usbhid: enable remote wakeup for keyboards



This patch (as1365) enables remote wakeup by default for USB keyboard
devices.  Keyboards in general are supposed to be wakeup devices, but
the correct place to enable it depends on the device's bus; no single
approach will work for all keyboard devices.  In particular, this
covers only USB keyboards (and then only those supporting the boot
protocol).

Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 20a3ce7e
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1026,12 +1026,15 @@ static int usbhid_start(struct hid_device *hid)
	/* Some keyboards don't work until their LEDs have been set.
	 * Since BIOSes do set the LEDs, it must be safe for any device
	 * that supports the keyboard boot protocol.
	 * In addition, enable remote wakeup by default for all keyboard
	 * devices supporting the boot protocol.
	 */
	if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT &&
			interface->desc.bInterfaceProtocol ==
				USB_INTERFACE_PROTOCOL_KEYBOARD)
				USB_INTERFACE_PROTOCOL_KEYBOARD) {
		usbhid_set_leds(hid);

		device_set_wakeup_enable(&dev->dev, 1);
	}
	return 0;

fail:
+1 −0
Original line number Diff line number Diff line
@@ -313,6 +313,7 @@ static int usb_kbd_probe(struct usb_interface *iface,
		goto fail2;

	usb_set_intfdata(iface, kbd);
	device_set_wakeup_enable(&dev->dev, 1);
	return 0;

fail2: