Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp579032pxf; Wed, 17 Mar 2021 10:53:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxHYhbqPzzSTEc/iV6+CcZCYaIqEdxv2p2A/ZC8UQOkeJJSzduvXys5hU55PwSdY9GVDM67 X-Received: by 2002:a17:907:76c7:: with SMTP id kf7mr36012296ejc.470.1616003608299; Wed, 17 Mar 2021 10:53:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616003608; cv=none; d=google.com; s=arc-20160816; b=AyvrZzgR3+r6dUizgPCrmzC/ejJUsoMzFyMPb9UNmufz2cfEyT/iX7Z/ZXpkVBOJPa LWsk7H3+PxumQwFurOBIosDj7S0p5rHKxTq/hINLGh3IM0S7Y09Z7tHkq/pusHOXErol hnFYkMGHeXyKzXINb8r37b5feY/5YU7x+hrStZ7RdmK7FbnjlWD0QNwSS1dg5UBdpuBY U8ypY1nNumumDnVDBJIQC5Jt7L+QRuB7rpzXL76sfHNFMCASlATJGWEex4j373RBYz1q FYi82KrmceAKVbeJkwSurRJalQCnBjrGXIWyBiwDu66Odd69Ute7OyCu8i7Tu5eIw0Qc +MuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=dEGLhiDnwMkfXyobnjzNNfxRt05nqIQ9oCfTjdxDrNk=; b=ap0NgOA6pU9plqaW1AMNSmOnfdhjerc/uKl5eHzBVO6KY1L224YKIzy1W8+EPX7Eqt 5ENPnZpZzEqhV6AX7y8iRviHGsayqYqNf4KWIrTb0xcBsOrhfA2nvLc4K/dxiKRM75ND ZZZfpSo7NTd6iFWahUGTc+cYLllm858EAnikIIDBnQvaaK5CpJjG5XdWuk6zREaYiS7O SUnWig7Af0cRN7cypZcJTCP6gIVYEi+JhpYUAWznD/17ady/HJK54J+S3YzKd7AnsuCV tTo7VMfh4sGaz13UzA/t91yamZPlthc5W2zSInGlviD2TsxFtdAtLzTPoX3WiUBiKyxa 4nGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=DxwRem2p; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u12si19286814eda.121.2021.03.17.10.53.02; Wed, 17 Mar 2021 10:53:28 -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; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=DxwRem2p; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232717AbhCQRv2 (ORCPT + 99 others); Wed, 17 Mar 2021 13:51:28 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:30362 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232746AbhCQRvW (ORCPT ); Wed, 17 Mar 2021 13:51:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616003482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dEGLhiDnwMkfXyobnjzNNfxRt05nqIQ9oCfTjdxDrNk=; b=DxwRem2pzbzdi9rLMztyZ/00abOg8jjfFul2/XIpPfEXMfhipGeU/rfTAZycIcyncrD8AO 2iKZwSbwLel+awqT9IC4n+lU5pod7YkNCfNUsNcN1du1MD3RjQI3WRXLF6pw3yU0LPpzQO ZpGDzovYofukCwDpC4dlo+Ywnu6P/wI= Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-471-f71jvOXpOYq8UuPRJIZbUg-1; Wed, 17 Mar 2021 13:51:20 -0400 X-MC-Unique: f71jvOXpOYq8UuPRJIZbUg-1 Received: by mail-ej1-f70.google.com with SMTP id t21so7576992ejf.14 for ; Wed, 17 Mar 2021 10:51:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=dEGLhiDnwMkfXyobnjzNNfxRt05nqIQ9oCfTjdxDrNk=; b=rIPie/EXVYaJ9a5v0Wi8huL+QAo8SSeFqluefX74ZANMxSwNr+vZS2lxhqsMf3Wr8I ZjLij4bpDAYRFcj6VvM5NgX9G8HFmA7DC3G3xHknusQ1SDKKP/PBkWhX2hIC18991f9H wV1OCnt6h5dbjNQ7WljV6RoTc4OUBYeUFc/FkVGFsgDDecfPFjBSeHAsXqra9S3JILlQ Yc8RsQDazdffzyMOxsRk55vPg0p2vlqksn6OFZbtL1i4ZAAT4n1KtjE2ekWqQCqHr77D o2GJOn9OXhHddyYRSvhp3nfHGlURBnaXCnmH/xmfhc7HxluMdM3cgUBX5+B99z4WC8iQ CweQ== X-Gm-Message-State: AOAM531CjQI3CG05g2sGUD1I6/XXMhvgXtZC50rIwSKk0KTrxHt5cAgI 7pbA1vzoLINvq56UIqAXh4/HUSmQfXANR0RDl6TDd5SNVgdDb/HD62MovEGijfSSDA3glt0/Ad2 Um6Lx0PjLqta+dryONrkIp+JWDRyD2Iqtv+rRT8xavuzSW2oQqrUSJPM86qD3N/ZqcnsaIj0RPJ 1O X-Received: by 2002:a17:906:2692:: with SMTP id t18mr35995242ejc.16.1616003479262; Wed, 17 Mar 2021 10:51:19 -0700 (PDT) X-Received: by 2002:a17:906:2692:: with SMTP id t18mr35995219ejc.16.1616003478982; Wed, 17 Mar 2021 10:51:18 -0700 (PDT) Received: from x1.localdomain (2001-1c00-0c1e-bf00-1054-9d19-e0f0-8214.cable.dynamic.v6.ziggo.nl. [2001:1c00:c1e:bf00:1054:9d19:e0f0:8214]) by smtp.gmail.com with ESMTPSA id t12sm14026179edy.56.2021.03.17.10.51.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 17 Mar 2021 10:51:18 -0700 (PDT) Subject: Re: [PATCH 0/2] HID: Add support for Surface Aggregator Module HID transport To: Maximilian Luz , Jiri Kosina Cc: Benjamin Tissoires , Mark Gross , =?UTF-8?Q?Bla=c5=be_Hrastnik?= , linux-input@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org References: <20210310225329.2393372-1-luzmaximilian@gmail.com> From: Hans de Goede Message-ID: Date: Wed, 17 Mar 2021 18:51:17 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <20210310225329.2393372-1-luzmaximilian@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 3/10/21 11:53 PM, Maximilian Luz wrote: > This series adds support for the Surface System Aggregator Module (SSAM) > HID transport subsystem. > > The SSAM is an embedded controller, found on 5th- and later generation > Microsoft Surface devices. On some of these devices (specifically > Surface Laptops 1, 2, and 3, as well as Surface Book 3), built-in input > devices are connected via the SSAM. These devices communicate (mostly) > via normal HID reports, so adding support for them is (mostly) just a > matter of implementing an HID transport driver. > > SSAM actually has two different HID interfaces: One (legacy) interface > used on Surface Laptops 1 and 2, and a newer interface for the rest. The > newer interface allows for multiple HID devices to be addressed and is > implemented in the first patch. The older interface only allows a single > HID device to be connected and, furthermore, only allows a single output > report, specifically one for the caps lock LED. This is implemented in > the second patch. > > See the commit messages of the respective patches for more details. > > Regards, > Max > > Note: This patch depends on the > > platform/surface: Add Surface Aggregator device registry > > series. More specifically patch > > platform/surface: Set up Surface Aggregator device registry > > The full series has been merged into the for-next branch of the > platform-drivers-x86 tree [1]. The commit in question can be found at > [2]. > > [1]: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=for-next > [2]: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/commit/?h=for-next&id=fc622b3d36e6d91330fb21506b9ad1e3206a4dde Jiri, I'll prepare an immutable branch with the necessary pdx86 pre-reqs for this and I'll send you a pull-req for that IM branch, then you can merge these through the HID tree after merging that pull-req. Regards, Hans > > Maximilian Luz (2): > HID: Add support for Surface Aggregator Module HID transport > HID: surface-hid: Add support for legacy keyboard interface > > MAINTAINERS | 7 + > drivers/hid/Kconfig | 2 + > drivers/hid/Makefile | 2 + > drivers/hid/surface-hid/Kconfig | 42 +++ > drivers/hid/surface-hid/Makefile | 7 + > drivers/hid/surface-hid/surface_hid.c | 253 +++++++++++++++++ > drivers/hid/surface-hid/surface_hid_core.c | 272 +++++++++++++++++++ > drivers/hid/surface-hid/surface_hid_core.h | 77 ++++++ > drivers/hid/surface-hid/surface_kbd.c | 300 +++++++++++++++++++++ > 9 files changed, 962 insertions(+) > create mode 100644 drivers/hid/surface-hid/Kconfig > create mode 100644 drivers/hid/surface-hid/Makefile > create mode 100644 drivers/hid/surface-hid/surface_hid.c > create mode 100644 drivers/hid/surface-hid/surface_hid_core.c > create mode 100644 drivers/hid/surface-hid/surface_hid_core.h > create mode 100644 drivers/hid/surface-hid/surface_kbd.c >