[PATCH 0/6] platform/x86: x86-android-tablets: fix Arizona and Crystal Cove GPIO lookups

From: Dmitry Torokhov

Date: Sun Aug 30 2026 - 07:15:26 EST


When gpiolib dropped name-against-label matching in favor of firmware node
identity mapping, lookups referencing unattached software nodes (such as
arizona and gpio_crystalcove in x86-android-tablets) stopped working.

This series fixes the lookups and cleans up redundant software node
registrations on Lenovo tablets:
- Point Arizona GPIO property entries directly to the codec device software
node, which is attached to the parent device.
- Hold a device reference in gpio_secondary_fwnode_init() to ensure safety
during devres action teardown.
- Generalize gpio_secondary_fwnode_init() to accept a node group argument
and use it to attach crystalcove_gpiochip_node as a secondary firmware
node to INT33FD:00 on Lenovo Yoga Tab 2 models.
- Drop redundant swnode group registrations on Lenovo Yoga Tab 3 and
Yoga Tab 2 models where codec software nodes are already registered when
attached to their respective devices.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
---
Dmitry Torokhov (6):
platform/x86: x86-android-tablets: fix Arizona GPIO swnode references
platform/x86: x86-android-tablets: hold device reference for secondary fwnode teardown
platform/x86: x86-android-tablets: pass node group to gpio_secondary_fwnode_init()
platform/x86: x86-android-tablets: add Crystal Cove GPIO swnode support
platform/x86: x86-android-tablets: drop redundant swnode group on YT3
platform/x86: x86-android-tablets: use shared battery swnode group on Yoga Tab 2

drivers/platform/x86/x86-android-tablets/core.c | 35 +++++++++++++++-----
drivers/platform/x86/x86-android-tablets/lenovo.c | 37 +++++++---------------
.../x86/x86-android-tablets/x86-android-tablets.h | 2 ++
3 files changed, 40 insertions(+), 34 deletions(-)
---
base-commit: f82a5da2f04960df9fb57489992d03dd5e64ec6f
change-id: 20260829-x86-android-lenovo-swnode-785f4e165eb2

Thanks.

--
Dmitry