From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6188B4746C5 for ; Tue, 28 Jul 2026 22:55:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785279353; cv=none; b=M7JsbSYzM7LqtJnOmTcpJOjmVa0nL4XjbuZ3ud9Z5SQLHb4JbrUpwvRNF0r1qvcCpdsrBKZlmD64Tmudy5KG/T4jRkeOaP9qtxgkwLbD6Ztc3U8bx+QzR4p/edmlLa67I8sB1g+7ovPPRaodu7YXnWtO5spzn6+v7STSmgLwnEw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785279353; c=relaxed/simple; bh=wGG+q4pz1CgVXZkEDLp7XhSIpDfjEXz2RsC6cIFmzMw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=RkHFngCUXuqhBAC8Xf4c3dbDqve4wbb+QASJCzx3JxZ1nOz+7ZJ+HLSa2K0327TdbxD+wySY2+NfNcA4+jQIpoump+MaexEIFKhIUl7xpsNzRh7zG0OE9zuqGqc7Jzd5UyqgK6EOGy6SslmXsFdRJL+UFl7kimLVK3mpENbz4dg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=REGDt0wA; arc=none smtp.client-ip=209.85.160.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="REGDt0wA" Received: by mail-qt1-f172.google.com with SMTP id d75a77b69052e-51c2808dbc3so2662601cf.1 for ; Tue, 28 Jul 2026 15:55:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785279351; x=1785884151; darn=vger.kernel.org; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=02IMskWChRHwzu27lUSTDGSNx/5Zmv/TbofsfiL2H30=; b=REGDt0wAfWwc4cfvVHPyk2mhosy8199oRJZU1R8oOgpWyq4wUjRk68bB5433qVcq9q Oe/tujBmlY0vbou++9Ldrl8PhU9Q48maAgWYE5qEiUzR6ivnpyH7JQsMYX4ReYiWzesM MmsXr/PORCeTNL574JQwwXMQT0vabJ2vMNnBcYEVZ31roN+0J5/VWerl8q+xz5oTTZw5 Vdb+HdRQlEZ+2MCPG2dPBfIuuhyi+eHMRyZCLvq2cWLcZ6A8GZdaKeLaul5Q+/Rkra0k LP7yKv5MTvE1s7OfSVmgww58zvXGnRXycfYTXGoEzVhsCw9Fh//blIWYpmsHXu2pJgvd 5kRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785279351; x=1785884151; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=02IMskWChRHwzu27lUSTDGSNx/5Zmv/TbofsfiL2H30=; b=U4XlCjUDB/BBh1120OiNSwITfSy0YgCqrdXv2GqOFvJsohT23CCobZCVG4tBJBXjrm yfGrd1mvq2lcl6Yb9gwLsZUm7KW0ZELSCeqLpzSiWte0efFmCHdsA7636zcOVl+Cn1dm 32Khu5OzGNThhbWF9OFYM0F1ReC2Zeq51AU6/kXBsw41RJwqhZnBY9ZPxosmcirG7Muc hdbV0MDqKasW/LzJEWsfRenZddtCRGQd/rSg4amcGLklHHN23cB/XKeP+vlspljvmGpS ZhmGf6COYpYOydQQRIB4U5uG780lga0mheLJJh/naSfachE1YB9WACDFSIaJayfLqvx3 hXrA== X-Forwarded-Encrypted: i=1; AHgh+Rpx+3LMF9nxHRO/pZNicxCtmVX2kW87VExgUQeVEc84+NfibOaxwo8Sarnvt40rTdOIRUH4Pj5ceVkAfHw=@vger.kernel.org X-Gm-Message-State: AOJu0YzS3ezHK53FoTkutjLe/Bn6oI/aHVmasI5LcrWK2ZXFC1v78gaH tT+bp4nRhD4BOi4StgRerNKDITBK/U77N09pWgonc8KmCp6s8vdTy33VtyJhUw01F94= X-Gm-Gg: AR+sD11zO+7WzzwdSpPX4vAOnSrx9r/aqTP1IpGVMjqy6fI6WzjycleLETT3Co9z1lR 0J9xYFNwwxqInRuHQC+lC5TsptI89Y/jrIhCJUltHlXWqKoM/ZTbiIREPm9rnim+0wibkm0iCGK bGbLsQ6t59mlwUETOHL8uLhF6B3/pITqbHFFD0Q9em3llGZQwSVydMRoqSvKpT9GhfPdDY1MxCo EpXsn0EX6EUYNJCOBWLyqyqUjKg9Ivms3bmlUj8eirWSYMkD3NHFUkIa8RQs3r6/TngcdhL7oNq BWM3OSCctUuSF6AHwXCpT1VwUPkG9nOLYWUTqs2MiNnPU1kneV8OWinV5Yi+cUp+aAJqRNoEf5R UitBP2HHgu3MVvPExgbRyBD2tA9exLZwnHeFsDlvb2+KezBTP3i0sMtSHczSuqC3GTlBPn1v7EJ 5J9Ry4UmeQHRsWO7srtavvNyKWk0suBAeX3JFP1p6kMdYuVCIr/s5TbAoBJNHILmglEvZWMu5JQ EsSItXbwJcKr8rrmLp0UURlV5r1j6nkKg== X-Received: by 2002:a05:622a:408e:b0:526:f963:2d0f with SMTP id d75a77b69052e-529d71daedamr43127151cf.53.1785279351294; Tue, 28 Jul 2026 15:55:51 -0700 (PDT) Received: from fedora (pool-100-11-178-145.phlapa.fios.verizon.net. [100.11.178.145]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-529e2b4f241sm8017991cf.7.2026.07.28.15.55.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2026 15:55:50 -0700 (PDT) From: Dave Carey To: platform-driver-x86@vger.kernel.org Cc: ilpo.jarvinen@linux.intel.com, hdegoede@redhat.com, W_Armin@gmx.de, jikos@kernel.org, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, Dave Carey Subject: [PATCH v15 0/2] Lenovo Yoga Book 9 keyboard dock detection Date: Tue, 28 Jul 2026 18:55:42 -0400 Message-ID: <20260728225545.1333610-1-carvsdriver@gmail.com> X-Mailer: git-send-email 2.55.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes in v15 (addressing Ilpo Järvinen's v14 review of patch 2/2): - yb9_kbdock_notify_new(): restore .min_event_size = sizeof(__le32) in struct wmi_driver and remove the manual buffer-length check; the .min_event_size field was present in v12/v13 (added in v10) but was accidentally dropped in v14. Patch 1/2 (lenovo-ymc) is unchanged from v10. Changes in v14 (addressing Ilpo Järvinen's v13 review of patch 2/2): - Restore #include and , which were accidentally absent from v13. - Restore spinlock_t lock in struct yb9_kbdock_data, spin_lock_init(), and spin_lock/spin_unlock around input_report_switch + input_sync in yb9_kbdock_report(). - Restore pointer-out yb9_kbdock_query(d, u32 *bkbd) and removal of zero-initializer from struct wmi_buffer out. - Restore int return from yb9_kbdock_sync() and error propagation in yb9_kbdock_resume() and yb9_kbdock_block_probe(). Changes in v13: - Resend of v12: v12 was corrupted in transit. Root cause: the ABI documentation uses RST table separator lines (== ====...) which contain '=' characters; git-send-email selected quoted-printable transfer encoding due to non-ASCII in the changelog (UTF-8 author name), encoding '=' as '=3D' and breaking git-am on the receiving end. Fixed by setting sendemail.transferEncoding=8bit. No content changes from v12. Changes in v12 (addressing Ilpo Järvinen's v11 review of patch 2/2): - Add #include (for sysfs_emit) - Add #include (for __le32 and __packed) Changes in v11 (addressing Armin Wolf's v10 review of patch 2/2): - ABI doc: correct Date to "June 2027" and KernelVersion to "7.3"; these fields should reflect when the ABI lands in the kernel, not the submission date. Patch 1/2 (lenovo-ymc) is unchanged from v10. Changes in v10 (addressing Armin Wolf's v9 review of patch 2/2): - Update ABI doc: Date: June 2026, KernelVersion: 6.16 - Add #include and - yb9_kbdock_query(): change return to pointer-out u32 *bkbd to avoid a 0xFFFFFFFF status value being misread as -EPERM - struct yb9_kbdock_data: add spinlock_t lock - yb9_kbdock_report(): hold lock across input_report_switch + input_sync - yb9_kbdock_sync(): return int, propagate query error to callers - yb9_kbdock_resume(), yb9_kbdock_block_probe(): propagate sync error - struct wmi_buffer out: remove zero-initializer (not needed) - yb9_kbdock_notify_new(): drop manual length check; use .min_event_size = sizeof(__le32) in struct wmi_driver instead Patch 1/2 (lenovo-ymc) is unchanged from v9. Dave Carey (2): platform/x86/lenovo: lenovo-ymc: Suppress probe on Yoga Book 9 14IAH10 platform/x86/lenovo: Add Yoga Book 9 keyboard dock detection driver Documentation/ABI/testing/sysfs-driver-lenovo-yb9-kbdock | 19 ++ MAINTAINERS | 7 + drivers/platform/x86/lenovo/Kconfig | 14 + drivers/platform/x86/lenovo/Makefile | 1 + drivers/platform/x86/lenovo/yb9-kbdock.c | 323 ++++++++++++ drivers/platform/x86/lenovo/ymc.c | 19 ++ 6 files changed, 383 insertions(+) 2.55.0