Re: [PATCH 0/6] platform/x86: x86-android-tablets: fix Arizona and Crystal Cove GPIO lookups
From: Hans de Goede
Date: Mon Aug 31 2026 - 05:43:11 EST
Hi,
On 30-Aug-26 1:15 PM, Dmitry Torokhov wrote:
> 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>
So I've given this a test on a Yoga Tablet 3 (yt3) tablet yesterday and
there everything works.
Then I also tested this on a Lenovo Yoga Tablet 2 1380 since the YT3 does
not cover the crystal_cove GPIO case and there things do not work.
It seems that trying to get the crystal_cove GPIOs indefinetely returns
-EPROBE_DEFER. I'll try to debug thus further this evening.
Regards,
Hans
> ---
> 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.
>