Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2371962pxj; Sun, 16 May 2021 23:35:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyqMQuXy0ZqK9Ha7+uM8WTS97GVtnKZqt11VjyMizLm/gTTLJzUYdZ95Kafbgf+Z4W1rp6M X-Received: by 2002:a05:6e02:5ac:: with SMTP id k12mr53891100ils.173.1621233355168; Sun, 16 May 2021 23:35:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621233355; cv=none; d=google.com; s=arc-20160816; b=i8m8YoBYni6hqVzDoxmetHVAZn+9LWtFukcJXw5s0jsVmyjq+93gMtjKZmVfD3b8kz Tp7fEF/vxJcU0friJVEmrje0PwMIEmD0tJ/klCdOeQE1lmj8YX113MrNpr9oC2Ej8J3k muJMloS3Vp02hykXDmJrdNIOvCM1URmhMl9glGwcKQBfcxRXgYHnacK4+6G/petG9ulF 1dzZ+CoexBe5/+vuHXMI6c7fsIUNYjjSAj7E4owQcUvpsc+kuCAiaCa4pHoDtMkhndR6 bgsekzCfypE6vi8iT6Hwx20IsxrRIwhxFeG1avUZHAuG5+ipp7TgX9BsWtJTpR05dvtG 5rjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=CPH9TWRadv3tB86EBCcRv17IoxscizdmemUpctUACVA=; b=A0b+TwUubdM2e8iwfLkhykG1RTlL/iqRX5sbf2+oqNTYZd+6LrUsG6F8dr7SA29yJs SKe2pUSccDNh4TK/0zqFMTw9KWTo3M3tBXaXkpgX3w8d8YgFE28S01H1vkglYfb4vhBV SQ8AjuAUZjQ7oS9aH+GovWJL1hi+8k0+IiJ3NVWCfM7ac74N56ltUPTyvefwawCTX0mX K66bl0of88ounpt7g2wucU2otTc/wDIpyg18IsYLM8o4zADrD0VMUgPvUeM/PHnMu9Cq qBiTmOLHF/q/rEDK2kGq2UvaxXedgiyUamcVbt6lTZC9YvHHYYSWy069C2yeSfLLfimC rKMQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w14si15508369iom.23.2021.05.16.23.35.42; Sun, 16 May 2021 23:35:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232783AbhEQGFA (ORCPT + 99 others); Mon, 17 May 2021 02:05:00 -0400 Received: from lucky1.263xmail.com ([211.157.147.132]:55276 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231775AbhEQGFA (ORCPT ); Mon, 17 May 2021 02:05:00 -0400 Received: from localhost (unknown [192.168.167.32]) by lucky1.263xmail.com (Postfix) with ESMTP id 8B79DF3F9D; Mon, 17 May 2021 14:03:27 +0800 (CST) X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-ADDR-CHECKED4: 1 X-ANTISPAM-LEVEL: 2 X-ABS-CHECKED: 0 Received: from localhost.localdomain (unknown [124.126.19.250]) by smtp.263.net (postfix) whith ESMTP id P18566T140528154826496S1621231401053565_; Mon, 17 May 2021 14:03:27 +0800 (CST) X-IP-DOMAINF: 1 X-UNIQUE-TAG: <240da64eecbce62dcea6f5674607e489> X-RL-SENDER: maqianga@uniontech.com X-SENDER: maqianga@uniontech.com X-LOGIN-NAME: maqianga@uniontech.com X-FST-TO: jikos@kernel.org X-RCPT-COUNT: 6 X-SENDER-IP: 124.126.19.250 X-ATTACHMENT-NUM: 0 X-System-Flag: 0 From: Qiang Ma To: jikos@kernel.org, benjamin.tissoires@redhat.com, linux-usb@vger.kernel.org Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, Qiang Ma Subject: [PATCH] HID: usbhid: enable remote wakeup for mouse Date: Mon, 17 May 2021 14:01:45 +0800 Message-Id: <20210517060145.32359-1-maqianga@uniontech.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch enables remote wakeup by default for USB mouse devices. Mouse 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 mouse devices. In particular, this covers only USB mouse (and then only those supporting the boot protocol). Signed-off-by: Qiang Ma --- drivers/hid/usbhid/hid-core.c | 12 +++++++----- drivers/hid/usbhid/usbmouse.c | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 86257ce6d619..592aa57a97f5 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -1186,11 +1186,13 @@ static int usbhid_start(struct hid_device *hid) * 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) { - usbhid_set_leds(hid); - device_set_wakeup_enable(&dev->dev, 1); + if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT) { + if (interface->desc.bInterfaceProtocol == USB_INTERFACE_PROTOCOL_KEYBOARD || + interface->desc.bInterfaceProtocol == USB_INTERFACE_PROTOCOL_MOUSE) { + if (interface->desc.bInterfaceProtocol == USB_INTERFACE_PROTOCOL_KEYBOARD) + usbhid_set_leds(hid); + device_set_wakeup_enable(&dev->dev, 1); + } } mutex_unlock(&usbhid->mutex); diff --git a/drivers/hid/usbhid/usbmouse.c b/drivers/hid/usbhid/usbmouse.c index 073127e65ac1..cf785369a5ed 100644 --- a/drivers/hid/usbhid/usbmouse.c +++ b/drivers/hid/usbhid/usbmouse.c @@ -188,6 +188,7 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i goto fail3; usb_set_intfdata(intf, mouse); + device_set_wakeup_enable(&dev->dev, 1); return 0; fail3: -- 2.20.1