From: Dave Carey <carvsdriver@gmail.com>
To: W_Armin@gmx.de, platform-driver-x86@vger.kernel.org
Cc: ilpo.jarvinen@linux.intel.com, hansg@kernel.org,
Dave Carey <carvsdriver@gmail.com>
Subject: [PATCH v9 0/2] platform/x86/lenovo: Yoga Book 9 keyboard dock detection
Date: Tue, 16 Jun 2026 10:35:06 -0400 [thread overview]
Message-ID: <20260616143508.124122-1-carvsdriver@gmail.com> (raw)
In-Reply-To: <20260610155340.342949-1-carvsdriver@gmail.com>
Hi Armin,
Thank you for the v8 review. All nine items are addressed in v9:
- Added struct lenovo_feature_status { __le32 id; __le32 status; } __packed;
and used it for size calculations and field access via le32_to_cpu().
- Added ID verification: return -EIO if le32_to_cpu(fs->id) != 0x00060000.
- Dropped the error message from yb9_kbdock_query(); returning the error
code is sufficient.
- Replaced the global struct + mutex with a BLOCKING_NOTIFIER_HEAD at
module scope. The event driver fires the chain from .notify_new(); the
block driver registers a notifier_block and owns the input_dev in its
per-device private struct. No global state, no mutex.
- Switched from .notify() to .notify_new() to receive a pre-parsed
wmi_buffer directly.
- Marked yb9_kbdock_attrs[] and the attribute pointer as const.
- Moved dmi_check_system() to yb9_kbdock_init(); DMI table is now
__initconst.
- Used le32_to_cpu(fs->status) directly (BKBD is zero-extended to 32 bits
by ACPI); removed BKBD_FIELD masking and the BKBD_TOP_HALF /
BKBD_BOTTOM_HALF constants (not needed by driver logic).
- Dropped #include <linux/bitfield.h>, <linux/bits.h>, and <linux/mutex.h>
(no longer needed); added #include <linux/notifier.h>.
Patch 1/2 (lenovo-ymc) is unchanged from v8, with Hans de Goede's
Reviewed-by tag added.
Tested on Lenovo Yoga Book 9 14IAH10 (model 83KJ), kernel 7.0.
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 | 310 ++++++++++++++++++
drivers/platform/x86/lenovo/ymc.c | 19 ++
6 files changed, 370 insertions(+)
--
2.54.0
next prev parent reply other threads:[~2026-06-16 14:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-10 15:53 [PATCH v8 0/2] platform/x86/lenovo: Yoga Book 9 keyboard dock detection Dave Carey
2026-06-10 15:53 ` [PATCH v8 1/2] platform/x86/lenovo: lenovo-ymc: Suppress probe on Yoga Book 9 14IAH10 Dave Carey
2026-06-10 16:40 ` Hans de Goede
2026-06-10 15:53 ` [PATCH v8 2/2] platform/x86/lenovo: Add Yoga Book 9 keyboard dock detection driver Dave Carey
2026-06-10 16:40 ` Hans de Goede
2026-06-10 17:59 ` Armin Wolf
2026-06-12 13:25 ` Dave Carey
2026-06-16 14:35 ` Dave Carey [this message]
2026-06-16 14:35 ` [PATCH v9 1/2] platform/x86/lenovo: lenovo-ymc: Suppress probe on Yoga Book 9 14IAH10 Dave Carey
2026-06-16 14:35 ` [PATCH v9 2/2] platform/x86/lenovo: Add Yoga Book 9 keyboard dock detection driver Dave Carey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260616143508.124122-1-carvsdriver@gmail.com \
--to=carvsdriver@gmail.com \
--cc=W_Armin@gmx.de \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=platform-driver-x86@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.