From nobody Sat Sep 26 21:14:47 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (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 7CA5B3B14CE for ; Sun, 30 Aug 2026 11:15:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088519; cv=none; b=ldbgaY2zNQ047lo+7PW11OZvoeVh6utcIrswnaBBJ3fsW8OIyRZdcGn+SZlJjwGiw134fEZ6ALFioj2Dn+1fkJDzJm/EEzueSIzEb7DqLBTdctSJnaRY1ddar5Pp/RThDIsa/OEwlHZ40aJ5p13VjJGqZn0c7QoKGgvMnnjWgI0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088519; c=relaxed/simple; bh=eyDDi/hj33KPiiGi1bcVYD+lSsfPmyqoGVEsktLoN4E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ShVuMR/zkoq0gCndI8RMYDgkfWf9zaqOBPAYarPKiucGj4LlUTKKbZQD2W2r7Lq761WUPScAtUFDHwHX4Ua4JoPk+Pw67rUtWZ6jI2mh89xhaVJxn9gwjuLfSygKy+eye0B6m9R1aFv4jW6y0e7hRoEy6omgk8HL1U1z5PobSO8= 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=HEd8VzLZ; arc=none smtp.client-ip=209.85.216.50 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="HEd8VzLZ" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-39675172593so2106437a91.2 for ; Sun, 30 Aug 2026 04:15:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788088515; x=1788693315; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5McLVfOcUe323ZqnXbKqgnGk8UnfNHbpkIXezyE7ocw=; b=HEd8VzLZfaFiaZFxhJwiqETXH69QJsdsx4Yfh68Mht0vmNtX/9/5xpL+eGd6HUpKOR GkNCPr8OJkdcLdhUh99Bo0CtQ+sUU+bvzz6dsOfD9Iaom+Uurwel6UaeRKphMOXUmNcG WD2JZuo/5D27MbQRrg+UpNj2jaMmA9oIfERmhh2AfWayEVb/W7UNvJ4zmz570kTnAQ4L 6VzVJed20uen7h0uowadVnrJvU0jRPO4C4eg3Lsyo01K39JVyqinEFFuOfS62oonyo9D HHa6ihKA19Vdsq8SZ4GEtt0rr7ezUY247VJpkf94Q8xdmvgO5YT6LHMrQqkmOMW/x2aS O5aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788088515; x=1788693315; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=5McLVfOcUe323ZqnXbKqgnGk8UnfNHbpkIXezyE7ocw=; b=SLkfAjKUDQQ+YLRnYwkw8GBfSfzfiYjry9Mwa7yXQidhH8thx9ztvSbcLwTUTXhDRt KXgM8Edrz6n14+ouswCtQ+X2yuKkgJQXaG0fBmHKJkdmnwtYI1qxEkAuq2HQ0WSYH5st YHrZP4ppn2GS6SRPBsM1sZSIb5P8czQ0Qa26BpCkDqRh5dxpE/VWusVdCITwjdWRuDqv POqypSGgtFFRqdtE1aphnWHZOAOTsDWj1CBMymoD9xog07bWMbDg2FhUsujdUO4U2kw6 YvfLNU1jSIdn5gdPYSYOtX/DeWuKi72WYsdD47lQfIfWpF+4wqYeEe0AWqSQSMGFgqfB tg/A== X-Forwarded-Encrypted: i=1; AKwUvBymIBdQvRMCL/KIieEdYWWCezKg9AyUbyVKRo67GOKrYvksZBgWbgQ7sceqh72DBjn77i+4IRntsHC3AnM=@vger.kernel.org X-Gm-Message-State: AFuF++mDzC7B3qFLRUz8x9xt4+xU4NBjhtetmOf+wQiENPuHqgqUXBZa jLDHtzOdmHSMzcBYTrXNpD/KCWdutw0/8WDnjXazLNA+iwGldIn3aOZx X-Gm-Gg: AYBFou3SbWPycMRmb1DZIMnncLh2EFvbE2Bev17OMXLQYAP/Cdeg5ClF4iPN4lDClzW m9vh1eXekMnOPVEnrDNBhfn0XVnjGesiv+tFEP+EgLt7aFGJYhmdznm606jo1vRL63eghj8PJks m98l2nFJan+i0+et26JgRgjE7/WsyRaGZl8f6lZ4P24UDnjgiG8lZ4RFCJsXKRFgELqgLyojQ8u G8O21CHfoolONnOkA4fUPZs9OPhEEdRtm4sgjBiqiNKGvfTrB/v6TUfGCzYZYVUOzAdmxjHrE+m JvSGjv+jiD2cm8aIZSc2VfhUdXCT9Ccq9ux+pdQTlUyZhPsIP0uZdI6xqAbnlQxHJGPMlQ8rE52 GL2evJcIX/I0jBl5QxWiXMKKnSuW2TlYS4sE205PZzrBw3U6k6cQGtOdjbSmcMESrU6tBS8B8Vj gEPQ6x7v3xjqLyLm0JTDa8u45lwqDAhZXElhxnJAu7Wn7t2ljZY6EigDi9FIZGZQbJ2n13QNYUB tVaXWBvmO/s6zH8pby8Gmdls2+yPGh+M95yrVONU1D7Oyawqx/avZb+CImK+g== X-Received: by 2002:a17:90b:1d05:b0:396:65dd:4093 with SMTP id 98e67ed59e1d1-396d0ff519cmr31217212a91.14.1788088515276; Sun, 30 Aug 2026 04:15:15 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:c021:485f:75be:3c7]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32874498f9esm18782313eec.20.2026.08.30.04.15.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Aug 2026 04:15:14 -0700 (PDT) From: Dmitry Torokhov Date: Sun, 30 Aug 2026 04:15:05 -0700 Subject: [PATCH 1/6] platform/x86: x86-android-tablets: fix Arizona GPIO swnode references 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: quoted-printable Message-Id: <20260830-x86-android-lenovo-swnode-v1-1-066a91acb4ba@gmail.com> References: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> In-Reply-To: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Andy Shevchenko , Bartosz Golaszewski , Linus Walleij , "Rafael J. Wysocki" Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.16-dev-b242f The standalone arizona_gpiochip_node was created when gpiolib supported matching a software node name against the GPIO chip label ("arizona"). Later, gpiolib replaced name matching with firmware node identity mapping (and eventually dropped the fallback mechanism), causing GPIO lookups on unattached software nodes to fail. In gpio-arizona, the GPIO chip inherits the firmware node of the parent codec device. Fix the lookups by pointing the GPIO property entries directly to the codec device software node (which is attached to the parent device) and dropping the obsolete arizona_gpiochip_node. Fixes: 611fd6cfe139 ("gpio: swnode: remove deprecated lookup mechanism") Assisted-by: LLM Signed-off-by: Dmitry Torokhov Reviewed-by: Andy Shevchenko Reviewed-by: Hans de Goede Reviewed-by: Linus Walleij Tested-by: Hans de Goede # Yoga tab 2 138= 0, yt3 --- drivers/platform/x86/x86-android-tablets/lenovo.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/platform/x86/x86-android-tablets/lenovo.c b/drivers/pl= atform/x86/x86-android-tablets/lenovo.c index 8d825e0b4661..c34f62bdf8f9 100644 --- a/drivers/platform/x86/x86-android-tablets/lenovo.c +++ b/drivers/platform/x86/x86-android-tablets/lenovo.c @@ -61,10 +61,6 @@ static struct lp855x_platform_data lenovo_lp8557_reg_onl= y_pdata =3D { .initial_brightness =3D 128, }; =20 -static const struct software_node arizona_gpiochip_node =3D { - .name =3D "arizona", -}; - static const struct software_node crystalcove_gpiochip_node =3D { .name =3D "gpio_crystalcove", }; @@ -416,15 +412,17 @@ static const struct platform_device_info lenovo_yoga_= tab2_830_1050_pdevs[] __ini =20 #define LENOVO_YOGA_TAB2_830_1050_CODEC_NAME "spi-10WM5102:00" =20 +static const struct software_node lenovo_yoga_tab2_830_1050_wm5102; + static const struct property_entry lenovo_yoga_tab2_830_1050_wm1502_props[= ] =3D { PROPERTY_ENTRY_GPIO("reset-gpios", &crystalcove_gpiochip_node, 3, GPIO_ACTIVE_HIGH), PROPERTY_ENTRY_GPIO("wlf,ldoena-gpios", &baytrail_gpiochip_nodes[1], 23, GPIO_ACTIVE_HIGH), PROPERTY_ENTRY_GPIO("wlf,spkvdd-ena-gpios", - &arizona_gpiochip_node, 2, GPIO_ACTIVE_HIGH), + &lenovo_yoga_tab2_830_1050_wm5102, 2, GPIO_ACTIVE_HIGH), PROPERTY_ENTRY_GPIO("wlf,micd-pol-gpios", - &arizona_gpiochip_node, 4, GPIO_ACTIVE_LOW), + &lenovo_yoga_tab2_830_1050_wm5102, 4, GPIO_ACTIVE_LOW), { } }; =20 @@ -434,7 +432,6 @@ static const struct software_node lenovo_yoga_tab2_830_= 1050_wm5102 =3D { =20 static const struct software_node *lenovo_yoga_tab2_830_1050_swnodes[] =3D= { &crystalcove_gpiochip_node, - &arizona_gpiochip_node, &lenovo_yoga_tab2_830_1050_wm5102, &generic_lipo_hv_4v35_battery_node, NULL @@ -985,13 +982,15 @@ static struct arizona_pdata lenovo_yt3_wm5102_pdata = =3D { }, }; =20 +static const struct software_node lenovo_yt3_wm5102; + static const struct property_entry lenovo_yt3_wm1502_props[] =3D { PROPERTY_ENTRY_GPIO("wlf,spkvdd-ena-gpios", &cherryview_gpiochip_nodes[0], 75, GPIO_ACTIVE_HIGH), PROPERTY_ENTRY_GPIO("wlf,ldoena-gpios", &cherryview_gpiochip_nodes[0], 81, GPIO_ACTIVE_HIGH), PROPERTY_ENTRY_GPIO("reset-gpios", &cherryview_gpiochip_nodes[0], 82, GPI= O_ACTIVE_HIGH), - PROPERTY_ENTRY_GPIO("wlf,micd-pol-gpios", &arizona_gpiochip_node, 2, GPIO= _ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("wlf,micd-pol-gpios", &lenovo_yt3_wm5102, 2, GPIO_ACT= IVE_HIGH), { } }; =20 @@ -1001,7 +1000,6 @@ static const struct software_node lenovo_yt3_wm5102 = =3D { }; =20 static const struct software_node *lenovo_yt3_swnodes[] =3D { - &arizona_gpiochip_node, &lenovo_yt3_wm5102, NULL }; --=20 2.55.0.897.gb25b4bd76c-goog From nobody Sat Sep 26 21:14:47 2026 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (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 DFB032F7EE1 for ; Sun, 30 Aug 2026 11:15:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088521; cv=none; b=I+z1R8VOlHQrHq+BGzm7UOoyd90fKusbVlXg0YqXduU844ict6dC+4lp5msZimmzK446cAdEwQrQF90FgGij6nTWtyaFBaiew9oF4wrKX57Dtay0pgmfN5ssZ5hansH7QBCUNPAcHbhKqOl6iX5g2A7Fln7et7KeRVjn8ERX0bA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088521; c=relaxed/simple; bh=L+kBfOFoAZ0Oqva+U3xNU7w4Xq/HFuIKHhhVREciYCc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PqT1QXb1pZsHqRoRt5OlgAnN6wp2Qp1w7Qgo6CfDgRHotAKyddk0/ZyPEdyY9XrfQ8l1VmSDuFuCyypkLonIaTlu0Yzc17/ZSrNm2oUCrtCxZWKllx385NdKz5/ybDhmAzdBRscsM0qTcKtkIOzXjWaoc8fcvEzdYLnYiuk9iM8= 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=sg78OhFy; arc=none smtp.client-ip=209.85.214.175 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="sg78OhFy" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2d91ff7d9acso325775ad.3 for ; Sun, 30 Aug 2026 04:15:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788088517; x=1788693317; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=zeoPQYEaTrf5uEGgRnLGKCII+rVjxqLzd1wRSr/Slf8=; b=sg78OhFyi52k9f7u6DWvLabLZe5vNnzVPsUOX0zpSFHpxjpFSsmryA9ufGDY3qjso9 rSmzCuk7eReQ3pv/EZ9k45wtS4hg7k2+RSqwfh0SRA++DbkLIB3ZVqEtFdaJpajBex7n 8ULdLUjngbsQt9renHzYIZyg4dGfjxhNDQC59shP4FGczYM1gfSPq5IFN+UItN4rHoVu gVPpUXs/S1Iblkc3FQvMQHOoaVusxOlrW2Lahy5qXpsE31H/RpG+hREMu3js3eOL+KNM K4p87K5/OUaI2geSkQsEFFjWrINpCqa5B1ipqMeZ3fNzdIRUXMCWMJk9Su2UkjySSaP2 GVcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788088517; x=1788693317; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=zeoPQYEaTrf5uEGgRnLGKCII+rVjxqLzd1wRSr/Slf8=; b=sXXwhwDlezuPWFZI2NBhBO9aT+O2CHRg0OZrZOSF1WcoABoTBUVXqIjKCtuKg1SPOy LfgJJ4juNx3HS4AhBHfvChWgkhVCMLsIVfqXlvfRi/VvbfNqxHxgxvvPRafFQdPOgxMF jGO7afOkPbZ5aP5Q0hhlsJLshGQex3dERl9wc5d9p5I0yAcWqTdtcQxkpY9wNrcuKk87 krdn/G6cmxkHFoNIoTsWaYnOUgPuww/Yy5DSoIiYr1db9hKEx4TU/wBIru0xc38ZVAJ2 frP6z6thfI7M/U5op7aKVdxlh8jrTuamLVRPcx9j1tPOIfCIrW9O8HPF5pWZefY7VBAY f8ZA== X-Forwarded-Encrypted: i=1; AKwUvBzDFdATjGk55jTVswIKvmVBUE5tCI7+bmhZsFt1nmIfE7Sh/7qt0Wu/Xvne7PVIS9hObpdF08GyFeruTM8=@vger.kernel.org X-Gm-Message-State: AFuF++kPclxkeJ+LeuDXGluctwGnTujwZA2q7/exjRLKtyGPp/o2n4XB SfhgaVx0uJHwePovYwpW1OhswXCkQQy06er+IsERse9ik8OTeGRh9hXw X-Gm-Gg: AYBFou3WAuH0IUKLBMfHXZsplHkI4BaiV88ErhLjB/i2JGWjlZ2Q/U4BpsfyIqcpoCb Fvgp8SLxiapaW2ZjNgQADitgVnK0+BFnFO3O+IneZPvyuiPr2LRaJzQ4f99Xdn6KsF+MgXxlDEq Kq/YSmN6f3wmum3HMUsfYhcnGugtW1A3lSuMIYfTy7YZYqHknd5cj5gzi2FFvKfUxtcVwJbHqUE V2+bUB50in9GuI4rpqXaxqqJDgNfPXOwmA2tK79izjXAfY+lRzGLm7YO0XgrUy9JJKAcMHNxRaw osGhbC9pJuiNSn+48+yqVwAuwQa+nt8TJ5600GoO9fIG6Z95JWE2/b/eBIKbGlfXLr3CvKVPzUI 6HYwmPs3SqNipdVwflzO5/RSuhlBGtvbqKMJclf9hN8P+Er8pNcaiyTqkA2KbfHotlIqdV0+PjA A4QTbLn5Q6HiTTwmtksiNrsdPOZe7OIky4tZReKQ5MWE0cONXmFN1GsDJpC1zhmdeE1lhYLhL1X c9cGUYZEhR3Fp+cLJtvzCHCr1eqRTCTKVTH6UeK7qrzdIiq/5LVwMeyVfwhMsA= X-Received: by 2002:a17:902:ec82:b0:2d6:3c2f:6a4 with SMTP id d9443c01a7336-2d74df293c5mr249489195ad.13.1788088516722; Sun, 30 Aug 2026 04:15:16 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:c021:485f:75be:3c7]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32874498f9esm18782313eec.20.2026.08.30.04.15.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Aug 2026 04:15:15 -0700 (PDT) From: Dmitry Torokhov Date: Sun, 30 Aug 2026 04:15:06 -0700 Subject: [PATCH 2/6] platform/x86: x86-android-tablets: hold device reference for secondary fwnode teardown 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: quoted-printable Message-Id: <20260830-x86-android-lenovo-swnode-v1-2-066a91acb4ba@gmail.com> References: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> In-Reply-To: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Andy Shevchenko , Bartosz Golaszewski , Linus Walleij , "Rafael J. Wysocki" Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.16-dev-b242f In gpio_secondary_fwnode_init(), acpi_bus_find_device_by_name() returns a device reference, but the local dev variable is declared with __free(put_device), dropping the reference at the end of each iteration. Meanwhile, devm_add_action_or_reset() saves the dev pointer for gpio_secondary_unset() without incrementing its reference count, which could lead to a use-after-free during driver teardown if the device is released in the interim. Acquire an explicit device reference with get_device() when registering the devres action, and drop it with put_device() inside gpio_secondary_unset(). Fixes: 1448c2d2ca5c ("platform/x86: x86-android-tablets: enable fwnode matc= hing of GPIO chips") Assisted-by: LLM Signed-off-by: Dmitry Torokhov Reviewed-by: Andy Shevchenko Reviewed-by: Hans de Goede Reviewed-by: Linus Walleij Tested-by: Hans de Goede # Yoga tab 2 138= 0, yt3 --- drivers/platform/x86/x86-android-tablets/core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/platform/x86/x86-android-tablets/core.c b/drivers/plat= form/x86/x86-android-tablets/core.c index 5db794d65eb5..722c0ae4ecd1 100644 --- a/drivers/platform/x86/x86-android-tablets/core.c +++ b/drivers/platform/x86/x86-android-tablets/core.c @@ -367,6 +367,7 @@ static void gpio_secondary_unset(void *data) struct device *dev =3D data; =20 set_secondary_fwnode(dev, NULL); + put_device(dev); } =20 static void gpio_secondary_unregister_node_group(void *data) @@ -409,7 +410,7 @@ static int gpio_secondary_fwnode_init(struct device *pa= rent) =20 set_secondary_fwnode(dev, fwnode); =20 - ret =3D devm_add_action_or_reset(parent, gpio_secondary_unset, dev); + ret =3D devm_add_action_or_reset(parent, gpio_secondary_unset, get_devic= e(dev)); if (ret) return ret; } --=20 2.55.0.897.gb25b4bd76c-goog From nobody Sat Sep 26 21:14:47 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 32B4B3AB286 for ; Sun, 30 Aug 2026 11:15:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088527; cv=none; b=QzGuNrZwIbP4YArEnVf+fFK+e8B5NI733loUjC3WivoEH34ffA9NF7cLY6hURnxijBntLRF9m4eduG0IT570bj8pPmdU+NmbS3R4E5ixPmic5itLNOnWPMLOa5m8YI2qG2SdmXYBbZwZKv5o2G7zMty/lEth4hojqtqKOIL5a3U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088527; c=relaxed/simple; bh=bSFkHlBywicpVhyA0eqfqd0HB8Ubz62+8OUFuJaDKo8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gfZrUfhzxDN/SrbqxTbA8BIaQP0ZXaYu2YUxv2XKiyBblFVpTWO550GNihOfKBGyRTIKkPCenPPtnQQ3i1VH2/zuTirRuUwTJnCrkeWpqXywFFY7prTKM5DNSfKvs5ZTrXsQUrq2Eekba3fm3feqpbjKI3Na6s/2+pPQ1K4NIRk= 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=Ak27+rtX; arc=none smtp.client-ip=209.85.214.171 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="Ak27+rtX" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2d01663d816so16729535ad.1 for ; Sun, 30 Aug 2026 04:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788088522; x=1788693322; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=btitZhw7p+mJgoG52k2bmHLRAFRh3kEQVi1cVagZJs4=; b=Ak27+rtXAAHmQltBdfUF9WU4UmSAFljUqpv83eOzIjpWJgrz7iOpABmxp00ZmHenDF pMukqbmAteOSQeRRAxe5MupWctG5sCN2vZy1HxxYVp6IUcqdwrAlqEs1uv35ggoU5Spc pjsbBtJisN56xO2kSd+x5OSeTPJ4PhbFbybuT8LXSxVsuggw2RtODPX2rp5sA4ZGZ9l8 e6mbrdu44AlcifR3yyincegEwyrFFK7+EW/LQdzmqJJ7oPF4ps3uvAaWSDuYEey0w0xZ yZ0blchg34UWYBq/ZuvvBRpKKtTXo0GFHF0vnaNEhjtrZT8wssE4bU26jqXDe9I9KcYr eqBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788088522; x=1788693322; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=btitZhw7p+mJgoG52k2bmHLRAFRh3kEQVi1cVagZJs4=; b=GozxeTzmU8jstoCtrX/6A05T+P0j1FxWSA7t9Gi5yWKdii85Xh+pVjewo4Y4C7BYQ2 ZNY0QSRf8wcdNW6nUq0xnRMlvFDmAdHrTMRG4Mf27oZ6/iXhiAI+l3AA72gCV9AseXPQ B3OwHWX1avOakOvcsQ8Ft/yj3Mhaz5BTWx+YujHecMIl+LAlx6D3AssMJaxNaCG++gqX 9WxTYe71CeannFe0kjS6TSGtNoSCRHAx89zX6clun3JThORwupWaXsoFsqoKWwF7/sK4 sQmQanZ5iQcEeBqva0lCLbLEpTE1pjaKBPeGZ1mwPVBo8SpHkjIRmWyquYXGszuWM3ye CQqA== X-Forwarded-Encrypted: i=1; AKwUvBy9+FkEoN6Go5ATtR2KbIBrGgK5wuxsogWhjg8Pi2s6E2vECQqVBt7XRuvOvBoTvl5aoO4UhxXOAjmg5OM=@vger.kernel.org X-Gm-Message-State: AFuF++k2SHWMYD0yiUqc5dMhgTVe8UKy9AU/y7DOpYx8lsHEcqAmZHQR eMo0yNOKOe/P8rGLzCKZTTP9TJlWKRqa9z146YnRZzJ1vDFs5O8A+sHv X-Gm-Gg: AYBFou2sojueQJ5NXeu8QS4RwnNMFJw7draG93AqqgcGTcuE9cVOgJk5aFL8PnEU4Gl 1KBmG07acoFNwnWgrK3a2t5cJBiL7Txly4Alkuubs3aBT4/EXR9VSOGfM5jUfO497Q9FsxAYh4O Coz7dexNqeES7T8N/XsCfqxSztetMagYr0bMRTuyZgO0SS+yRTEpxo/kLk5XPhWUsLfcgfQHA8E XP26kCgfzoCGgdditjSZz66Eh67VKQOoOZ2VBqljMyEIggBbGfKQXBg6Q8dPwYViAal0ES4XO4K COwG5kdtuigkQiwC/G6ur2h3v8m13yPy5UEOmy7SyI3tOWCyXqCNzmh9wQs0UizbWSnfw4thU5+ bdkLTQ+RHfUnNYNbR6zGCQYGpezBc8ZBDGQYFxMglDOcew9Qjk3XFLPMheI0cTg+xab90jnCqmi YpHiOBXOFX1Sm4eyiHhZ416xMNjgzqUplaI9ZekPn+WTQfVPRVSQ5RpECSR3Bm3j29WPcy9efr9 hKKZdk3DYCW1M7DqhuEfxjQu3IJPcOitBd7DJLXKlG5NE40ZOPm X-Received: by 2002:a17:902:f70f:b0:2d0:cc92:f7a9 with SMTP id d9443c01a7336-2d74dc0da0bmr332601975ad.4.1788088522058; Sun, 30 Aug 2026 04:15:22 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:c021:485f:75be:3c7]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32874498f9esm18782313eec.20.2026.08.30.04.15.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Aug 2026 04:15:18 -0700 (PDT) From: Dmitry Torokhov Date: Sun, 30 Aug 2026 04:15:07 -0700 Subject: [PATCH 3/6] platform/x86: x86-android-tablets: pass node group to gpio_secondary_fwnode_init() 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: quoted-printable Message-Id: <20260830-x86-android-lenovo-swnode-v1-3-066a91acb4ba@gmail.com> References: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> In-Reply-To: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Andy Shevchenko , Bartosz Golaszewski , Linus Walleij , "Rafael J. Wysocki" Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.16-dev-b242f Currently gpio_secondary_fwnode_init() uses a file-scope static gpiochip_node_group variable initialized in probe. Pass the node group directly to gpio_secondary_fwnode_init() as an argument instead of using a global variable. This allows reusing the helper for additional GPIO controllers in subsequent patches. Assisted-by: LLM Signed-off-by: Dmitry Torokhov Reviewed-by: Andy Shevchenko Reviewed-by: Hans de Goede Reviewed-by: Linus Walleij Tested-by: Hans de Goede # Yoga tab 2 138= 0, yt3 --- drivers/platform/x86/x86-android-tablets/core.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/platform/x86/x86-android-tablets/core.c b/drivers/plat= form/x86/x86-android-tablets/core.c index 722c0ae4ecd1..45673bfc0b7b 100644 --- a/drivers/platform/x86/x86-android-tablets/core.c +++ b/drivers/platform/x86/x86-android-tablets/core.c @@ -156,7 +156,6 @@ static struct platform_device **pdevs; static struct serdev_device **serdevs; static const struct software_node **gpio_button_swnodes; static const struct software_node **swnode_group; -static const struct software_node **gpiochip_node_group; static void (*exit_handler)(void); =20 static __init struct i2c_adapter * @@ -377,26 +376,27 @@ static void gpio_secondary_unregister_node_group(void= *data) software_node_unregister_node_group(nodes); } =20 -static int gpio_secondary_fwnode_init(struct device *parent) +static int gpio_secondary_fwnode_init(struct device *parent, + const struct software_node * const *node_group) { const struct software_node *const *swnode; struct fwnode_handle *fwnode; int ret; =20 - if (!gpiochip_node_group) + if (!node_group) return 0; =20 - ret =3D software_node_register_node_group(gpiochip_node_group); + ret =3D software_node_register_node_group(node_group); if (ret) return ret; =20 ret =3D devm_add_action_or_reset(parent, gpio_secondary_unregister_node_group, - gpiochip_node_group); + (void *)node_group); if (ret) return ret; =20 - for (swnode =3D gpiochip_node_group; *swnode; swnode++) { + for (swnode =3D node_group; *swnode; swnode++) { struct device *dev __free(put_device) =3D acpi_bus_find_device_by_name((*swnode)->name); if (!dev) @@ -453,6 +453,7 @@ static void x86_android_tablet_remove(struct platform_d= evice *pdev) =20 static __init int x86_android_tablet_probe(struct platform_device *pdev) { + const struct software_node * const *gpiochip_node_group; const struct x86_dev_info *dev_info; const struct dmi_system_id *id; int i, ret =3D 0; @@ -484,7 +485,7 @@ static __init int x86_android_tablet_probe(struct platf= orm_device *pdev) break; } =20 - ret =3D gpio_secondary_fwnode_init(&pdev->dev); + ret =3D gpio_secondary_fwnode_init(&pdev->dev, gpiochip_node_group); if (ret) { x86_android_tablet_remove(pdev); return ret; --=20 2.55.0.897.gb25b4bd76c-goog From nobody Sat Sep 26 21:14:47 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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 A3A0E3B27D6 for ; Sun, 30 Aug 2026 11:15:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088530; cv=none; b=cCyRQy4U7T4e8AdH9XAS9lQs1KBjwzcEBqv5WnE9jdY7WqNEYa6R5+qtFUe/5oFSTHZb5fjcOwCQjdKe2SsidEDTD9R4QrJHEh+wAZ5ch43RjrZYfF49QDpPvFDu0YNnVS/RSfowVrQxNfcuJmjG7OPOmJTVUVdYiNsGNa13k/0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088530; c=relaxed/simple; bh=MQO8x/9MOX6++A5fjwf+xxdpq4I4ffEdPwkbG9Hw8N4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V6w01J1c7VwcdDQSrqMKIgNpII19s6Tr0saGsWSB5e/asDpGSh0trHcuUeJs3JhZTEucTv3v2f2UfNmoKzulGWKG4Y9PC958zEf/nXy9g5e9Cvs32y27dtHaSm7EZKNhHS2QflNtMkk9KEZN3ozoSHGfT1GWaUGYwppXsY/YKjE= 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=Fpu4M3hh; arc=none smtp.client-ip=209.85.210.175 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="Fpu4M3hh" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-8558c0b26a8so1780498b3a.3 for ; Sun, 30 Aug 2026 04:15:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788088523; x=1788693323; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=90ZV7hUH6itSWPk0ikuRv8290LbYPRrFs/jmu615PQA=; b=Fpu4M3hhSzbjp1U4SYB/r49HuQoPnt4DVWRx7gE2H4VysADRUqDyNXw3sCXZ+qt+nV 5CSWa5XB3wg720Vp9wPq+K1yxMsbQ250Z/rVDuviExEBipBrQGFI5aLxT/prvstZrX04 sOeERK4xCxNIzqyB6nQlf19fKL05bQAeR/BmMFVPSSJjlnmN2jBOZaH2BlTUntCQLHnU EiVGZ3AsJMZrdIl8xgRwsr6fEX/mo3fZ1QZa6qg5aYB8acA2LVzOglSY5DBULd2L4vQs EH3AO1HnNJQ1L5tclawIn30jGCBWf8Yhbu4VJgM+edo/UDe5dvAiek50ICoeYC+C0Vk1 3UXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788088523; x=1788693323; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=90ZV7hUH6itSWPk0ikuRv8290LbYPRrFs/jmu615PQA=; b=a5QNeInjYqLiHjZ00KMT9cH3bYhFkfseO9lbZtPLoAymIsycNp06qc2TJHCt7V1Twp mv8ucrdHC7vLXkvdvxFMsrQeSKRIQL/Gy8yb1KTT3l6jJhIZrrsVhPUV2VKoVfDVil+R MsyFJ/7w3jc/+6xkX9zwLR2KcQniq9fdIy5RLiQphWTOgRZMotNHQ9lwem8EU30Vga9+ H1qE2yd/VOHbxjYrZTL07+C/MGt28lsqI8JU1Zyn9vWd+RAexK87Y8UHJ8DO4y2z5dZ+ cJ+fctd938yatXh2+IIEvJJqgRRY0fR0RAZiW5nx3efRAiZYdOYHmJLx4up9YsJs81VU upwA== X-Forwarded-Encrypted: i=1; AHgh+RphO+AIQtxBSV55AcAvuSMmK0J8FdZKr95y/QJ3sPOyX80stpypjApJvMPL3BggnDFX22qgbvRbIkWXsWs=@vger.kernel.org X-Gm-Message-State: AFuF++nDsVnQyMPX4cP8Mcgm2TSX6bwhH4IvR+aYEl2uzjJWGCWUcvbJ 2CzPERhLOXniJKOWMB5wG3aZcqKKnZQc9TF75XmFjijKewjaYoNM8aZG X-Gm-Gg: AR+sD10CGllW/oO9KHfTK+XhXOg4018ghfyy/EFuJdZyitvxTqJnYzqGi0Awczv34sT tVA22JsN55vW+dDGP97FPowp9EplH5peOme9Oj2ydD0R+NIblp0IU+kJLmgyO+5GpBsxA3Cbr7G x4cJ2OLCYwACoKwhUsNGtIFfNXdzdRhkgH1kiK2JvROeR02rlRvP0hfD1O1duJH0ojNtPPR/Jd0 AaC8vW45tAEYn5JsVSpn9u+Zjxk/RRyTHp3XEFBwv6jrMeIY1xpv8/bpZUw5DV1cAwU0sbCdcAc dOblQ8Fdt4Oxpr2kaooUaI8ERpVg/8rRv/a+hNdnnvccFwRY4E/QY95uk7VyyGlps81MHopBZ2+ KifwjTU5umkYVF+LOHsNeqBUU190CCDx7kW536rE6BdVjA4QjKvsLJ8q9EN2QviNvWYCnWgmfkn v1LiyxggVqL9LgrSZZOMfUL6QB7IjkBf2sHoDzR0hJC4yspfvwfony/31TZOYp7pawkRZOtkbsj s/wXgDcT07PvR0IJYdDMPO8SGyirnjCTruf+ilIN8Qr6YzQpI0= X-Received: by 2002:a05:6a21:2d4b:b0:3bf:7e2a:e874 with SMTP id adf61e73a8af0-3d266ebc17amr33097108637.1.1788088523602; Sun, 30 Aug 2026 04:15:23 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:c021:485f:75be:3c7]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32874498f9esm18782313eec.20.2026.08.30.04.15.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Aug 2026 04:15:22 -0700 (PDT) From: Dmitry Torokhov Date: Sun, 30 Aug 2026 04:15:08 -0700 Subject: [PATCH 4/6] platform/x86: x86-android-tablets: add Crystal Cove GPIO swnode support 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: quoted-printable Message-Id: <20260830-x86-android-lenovo-swnode-v1-4-066a91acb4ba@gmail.com> References: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> In-Reply-To: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Andy Shevchenko , Bartosz Golaszewski , Linus Walleij , "Rafael J. Wysocki" Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.16-dev-b242f The crystalcove_gpiochip_node was created when gpiolib supported matching a software node name against the GPIO chip label. Later, gpiolib replaced name matching with firmware node identity mapping, and support for dynamically attaching software nodes to ACPI GPIO chips as secondary firmware nodes was added for Baytrail and Cherryview, but Crystal Cove ("INT33FD:00") was omitted. Consequently, lookups on the unattached Crystal Cove software node fail. Add support for attaching crystalcove_gpiochip_node to the INT33FD:00 ACPI device as a secondary firmware node, and enable it on Lenovo Yoga Tab 2 models. Fixes: 611fd6cfe139 ("gpio: swnode: remove deprecated lookup mechanism") Assisted-by: LLM Signed-off-by: Dmitry Torokhov Reviewed-by: Andy Shevchenko Reviewed-by: Hans de Goede Reviewed-by: Linus Walleij Tested-by: Hans de Goede # Yoga tab 2 138= 0, yt3 --- drivers/platform/x86/x86-android-tablets/core.c | 17 +++++++++++++= ++++ drivers/platform/x86/x86-android-tablets/lenovo.c | 6 ++---- .../x86/x86-android-tablets/x86-android-tablets.h | 2 ++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/drivers/platform/x86/x86-android-tablets/core.c b/drivers/plat= form/x86/x86-android-tablets/core.c index 45673bfc0b7b..b028af1c9942 100644 --- a/drivers/platform/x86/x86-android-tablets/core.c +++ b/drivers/platform/x86/x86-android-tablets/core.c @@ -361,6 +361,15 @@ static const struct software_node *cherryview_gpiochip= _node_group[] =3D { NULL }; =20 +const struct software_node crystalcove_gpiochip_node =3D { + .name =3D "INT33FD:00", +}; + +static const struct software_node *crystalcove_gpiochip_node_group[] =3D { + &crystalcove_gpiochip_node, + NULL +}; + static void gpio_secondary_unset(void *data) { struct device *dev =3D data; @@ -491,6 +500,14 @@ static __init int x86_android_tablet_probe(struct plat= form_device *pdev) return ret; } =20 + if (dev_info->has_crystalcove) { + ret =3D gpio_secondary_fwnode_init(&pdev->dev, crystalcove_gpiochip_node= _group); + if (ret) { + x86_android_tablet_remove(pdev); + return ret; + } + } + ret =3D software_node_register_node_group(dev_info->swnode_group); if (ret) { x86_android_tablet_remove(pdev); diff --git a/drivers/platform/x86/x86-android-tablets/lenovo.c b/drivers/pl= atform/x86/x86-android-tablets/lenovo.c index c34f62bdf8f9..54068a0f4633 100644 --- a/drivers/platform/x86/x86-android-tablets/lenovo.c +++ b/drivers/platform/x86/x86-android-tablets/lenovo.c @@ -61,9 +61,6 @@ static struct lp855x_platform_data lenovo_lp8557_reg_only= _pdata =3D { .initial_brightness =3D 128, }; =20 -static const struct software_node crystalcove_gpiochip_node =3D { - .name =3D "gpio_crystalcove", -}; =20 /* Lenovo Yoga Book X90F / X90L's Android factory image has everything har= dcoded */ =20 @@ -431,7 +428,6 @@ static const struct software_node lenovo_yoga_tab2_830_= 1050_wm5102 =3D { }; =20 static const struct software_node *lenovo_yoga_tab2_830_1050_swnodes[] =3D= { - &crystalcove_gpiochip_node, &lenovo_yoga_tab2_830_1050_wm5102, &generic_lipo_hv_4v35_battery_node, NULL @@ -454,6 +450,7 @@ const struct x86_dev_info lenovo_yoga_tab2_830_1050_inf= o __initconst =3D { .gpio_button_swnodes =3D lenovo_yoga_tab2_830_1050_lid_swnodes, .swnode_group =3D lenovo_yoga_tab2_830_1050_swnodes, .modules =3D lenovo_yoga_tab2_modules, + .has_crystalcove =3D true, .gpiochip_type =3D X86_GPIOCHIP_BAYTRAIL, .init =3D lenovo_yoga_tab2_830_1050_init, .exit =3D lenovo_yoga_tab2_830_1050_exit, @@ -799,6 +796,7 @@ const struct x86_dev_info lenovo_yoga_tab2_1380_info __= initconst =3D { .gpio_button_swnodes =3D lenovo_yoga_tab2_830_1050_lid_swnodes, .swnode_group =3D lenovo_yoga_tab2_830_1050_swnodes, .modules =3D lenovo_yoga_tab2_modules, + .has_crystalcove =3D true, .gpiochip_type =3D X86_GPIOCHIP_BAYTRAIL, .init =3D lenovo_yoga_tab2_1380_init, .exit =3D lenovo_yoga_tab2_830_1050_exit, diff --git a/drivers/platform/x86/x86-android-tablets/x86-android-tablets.h= b/drivers/platform/x86/x86-android-tablets/x86-android-tablets.h index c756961ae5fd..6e6534f8fa6c 100644 --- a/drivers/platform/x86/x86-android-tablets/x86-android-tablets.h +++ b/drivers/platform/x86/x86-android-tablets/x86-android-tablets.h @@ -96,6 +96,7 @@ struct x86_dev_info { int (*init)(struct device *dev); void (*exit)(void); bool use_pci; + bool has_crystalcove; enum x86_gpiochip_type gpiochip_type; }; =20 @@ -107,6 +108,7 @@ int x86_acpi_irq_helper_get(const struct x86_acpi_irq_d= ata *data); /* Software nodes representing GPIO chips used by various tablets */ extern const struct software_node baytrail_gpiochip_nodes[]; extern const struct software_node cherryview_gpiochip_nodes[]; +extern const struct software_node crystalcove_gpiochip_node; =20 /* * Extern declarations of x86_dev_info structs so there can be a single --=20 2.55.0.897.gb25b4bd76c-goog From nobody Sat Sep 26 21:14:47 2026 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (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 068C775809 for ; Sun, 30 Aug 2026 11:15:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088530; cv=none; b=Y+EhXW/oy8faWWlxLMKCwmf+6Ly4CfAYKDHa1o6+C/2cgzTT0Ix4bhB3DtdVPejk+kdLluWE2OOwADVcKEBpFrNlRcZHs8ziE0e8LP1PqHCx9Zr8iuSatcJtYg1ziXBOsVEjOxvhgjSQ3Ly7yleqR/BMuAiPy0Oz85shAtZfjic= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088530; c=relaxed/simple; bh=h+o53Qix8aeQAnKvz263ljg3eLfqKPW/DCEjzSXhGOI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Qrb4s7Icf2we+R2uFKmtrRoQ3wxfRu8VJPQC6FX98qNnWkcFtUrsnkNvTaoMYA8SpuMl382zCCHdUVORrBlcQJKIMLQyCnbH8TLmUTueSK2peitIeXkiOiE5AinhVeSEmBmf9//xorXYUEIN3opB5EAmxx9Iu0HATGCqPY9Zvuw= 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=JEMw1Q6p; arc=none smtp.client-ip=209.85.210.181 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="JEMw1Q6p" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-84e04df8c46so2555388b3a.2 for ; Sun, 30 Aug 2026 04:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788088525; x=1788693325; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EWrbQWo0Y4gcocP0rLe2FWzofX/15YoGTuys2b43cOo=; b=JEMw1Q6p+MKzUazxmZbIP2L9erRa4o22nFy1JD9o+QlDc7nlWAqhxOSqEggjlWKE0w vwmLM11V3GgOaBINIENG28Ig/u8oPpp8zNePXc3eAsc5mFHKd1FSsdBsK5tJgAwseQDy wyD5Sm71sODN5uV6otAxJDz0lFPYBoarTxtZ+dZTBv8TrKctMailx/zCL8dH9eTsKjJ+ bubLNhgIL6cCOTDydv3/Ay8qIx5A7WhY5AoRU80DT43FH5+wyiUr+vPNTwyfw2FiqQSt dDbYavJCGDHDIhOPy0UOjPGvsHUeSwBv3R7Fgfj5k9u8uKU+WcNTRJ+vBqeB+EgKoUer U3YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788088525; x=1788693325; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=EWrbQWo0Y4gcocP0rLe2FWzofX/15YoGTuys2b43cOo=; b=oGecSQdFVZ+xJI+SNstVQvPriaqOkg9zgeTbvRBMm9USezjNFoS31PGK6oSspLnPww 9g26GaRA2S/7QREZ1WwFvtMzfw2K0SoKOSJkiNYnL+gOUgrbkUZiZQt623PX9kBo5cjn /vUawD+6FcW2lKdRh9aFPCkMFLZwh5G4eHchNb0yss6tKMqTJqbWN8halFXPbjmHWt/u 0GNao82jWKjJsBrYe6UOtN15fNNAqWHbFdHfopWGbNRdBo4ahQe/dUnK00k0jwSqa2XD UpFksfcPWssr8BGtFVycFu6ITRa0+Xk4E4cEBKRNS+3jnGR04EXn5F1J5ZN67Tm6Q8HM y0tQ== X-Forwarded-Encrypted: i=1; AHgh+RqoCQwkEy5RyPIWVtIjcJNs3LRmkeuLqQ3lmllf5sAGUhrNqfg8RyLkrNvYCWGVjtYCCQWsycptTmyvhkQ=@vger.kernel.org X-Gm-Message-State: AFuF++nrOyg3mChaZ2IUI56fLNRP3Lyu5pE0zuOx8WmrJSa4dTHI4oTn Urjp36jnPCl80CCBTsoN1U+RU8z+ZrejJvwMQO1hGeTQxT0UmLeTqUwk X-Gm-Gg: AR+sD12k+xBFSwJ9tQQ13wm8c5YOk3RK1x4L+c04JviVQXfPBSFnd6BDtG6BQ8jC/fO hwV778Py/QFdk4/XVJEsKney39GuK6BOJF4H171uLtdznkXbSwpW9YiGb9kY7m3GoB3td1WVMya txnApAkUQy1atB8kv9OsU3Du5tZuFCyXpwi+t5tJ+54nd0ShJ8YUClL76bnlJAf6Y/tcQmPSv5M kwGktceC/K0oaaIHx8iMu65lRKYuSj4786wzaOQH/6xH53QwO9yAIjzjQghOdJfyUa558Yq2V2w WQ39mDBwt04TUFgknoWPPofhl/s2VdsLZ4m1HURSvvAN1+JGZcWQaZuG94J7+rshBQ0dSS31zeg UdpjRIwdQ1M9k3UxhvY4sPqU1yrG75OQFWLPMAGu2lz0T+PNs0XM+7wVg2csMbvfjIEyXHK2Asj 8kvPxG3RE2s4Xh/PidBffxzmkNz+urA/jiFk6RWoF4Ysqez72T1U55yCZKxoI+BAL2lzUdygzDh 9HlSWSWiEpDTZ8CEEURSQgmPQWnIEv9vkdbdPRolV0vnvlh5Gg= X-Received: by 2002:a05:6300:4049:b0:3d3:afeb:880 with SMTP id adf61e73a8af0-3d3afeb091emr18094821637.28.1788088525106; Sun, 30 Aug 2026 04:15:25 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:c021:485f:75be:3c7]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32874498f9esm18782313eec.20.2026.08.30.04.15.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Aug 2026 04:15:24 -0700 (PDT) From: Dmitry Torokhov Date: Sun, 30 Aug 2026 04:15:09 -0700 Subject: [PATCH 5/6] platform/x86: x86-android-tablets: drop redundant swnode group on YT3 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: quoted-printable Message-Id: <20260830-x86-android-lenovo-swnode-v1-5-066a91acb4ba@gmail.com> References: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> In-Reply-To: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Andy Shevchenko , Bartosz Golaszewski , Linus Walleij , "Rafael J. Wysocki" Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.16-dev-b242f The WM5102 codec software node lenovo_yt3_wm5102 is assigned to the board info swnode pointer in lenovo_yt3_spi_devs. When spi_new_device() instantiates the SPI device, device_add_software_node() automatically registers the software node. Therefore, explicitly registering lenovo_yt3_swnodes via software_node_register_node_group() and listing it in .swnode_group is redundant. Drop the unused node group and registration. Assisted-by: LLM Signed-off-by: Dmitry Torokhov Reviewed-by: Andy Shevchenko Reviewed-by: Hans de Goede Reviewed-by: Linus Walleij Tested-by: Hans de Goede # Yoga tab 2 138= 0, yt3 --- drivers/platform/x86/x86-android-tablets/lenovo.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/platform/x86/x86-android-tablets/lenovo.c b/drivers/pl= atform/x86/x86-android-tablets/lenovo.c index 54068a0f4633..cd8cee1f4aed 100644 --- a/drivers/platform/x86/x86-android-tablets/lenovo.c +++ b/drivers/platform/x86/x86-android-tablets/lenovo.c @@ -997,10 +997,6 @@ static const struct software_node lenovo_yt3_wm5102 = =3D { .name =3D "wm5102", }; =20 -static const struct software_node *lenovo_yt3_swnodes[] =3D { - &lenovo_yt3_wm5102, - NULL -}; =20 static const struct x86_spi_dev_info lenovo_yt3_spi_devs[] __initconst =3D= { { @@ -1068,7 +1064,6 @@ const struct x86_dev_info lenovo_yt3_info __initconst= =3D { .i2c_client_count =3D ARRAY_SIZE(lenovo_yt3_i2c_clients), .spi_dev_info =3D lenovo_yt3_spi_devs, .spi_dev_count =3D ARRAY_SIZE(lenovo_yt3_spi_devs), - .swnode_group =3D lenovo_yt3_swnodes, .modules =3D lenovo_yt3_modules, .gpiochip_type =3D X86_GPIOCHIP_CHERRYVIEW, .init =3D lenovo_yt3_init, --=20 2.55.0.897.gb25b4bd76c-goog From nobody Sat Sep 26 21:14:47 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 0FD203B27F6 for ; Sun, 30 Aug 2026 11:15:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088531; cv=none; b=P8GtcHytRoY7f/7+nk2Uf9ZCB16YVp5oJCRKI8X8xGQZKevENL15HJGHKhq9iLvyA8PghVBGoZ+xtTJHxiuhk9YB0barhwDKZ0gZHv6rrwQAZF5kZmzrt/lSU+afKpXKudnIixucazxd+bJu3pbOwUcLRjQRR8X9Bsw2zHMAuJU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788088531; c=relaxed/simple; bh=KZ/fD8FH+Wlo4KWrp3tSDdM6Rhcc8zTyI0ZU4yMUbuY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uV3vSkmGp/BnRqTZHKTjLbsbhxIsjsSdA6kYymq46p8vpeYKq5Q8o+dFIqSk5J1oUpot1PRqbHoFyu0jO/cDoU+WIsgQVuHCwz8scHA1Cf168lbMv9v8l7mcKA3yIPp0Me6wI1/U07nvtzZZ5XAT8QeTGDB7oB71ZkzGgqkNPzs= 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=L2uMRw3i; arc=none smtp.client-ip=209.85.214.170 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="L2uMRw3i" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2d6f55a7089so24940805ad.3 for ; Sun, 30 Aug 2026 04:15:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788088527; x=1788693327; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=bNBolfdjDJZim1d0V9ZQFfyaRgxWkpiwGCAz20WAkoM=; b=L2uMRw3iUVVbPwmVG0zGOQ+LoVFaMC/YFPSUlISVxytd0CMfq85FqmA2BWV7vh9mW7 PlcWnxF2pgaLRB+IGk276yIN5XwXj60L1zE08VhafD4+KoqdClKyu0k3U0ZhEvXFjw4n EFlqVuc3SOZAyXJCIinlN/yI3JVCIxZ+4trT40ghI5fC7eAa1n07k2baCyQjHTij1wVL 29YspZcWktvJcbyx7xl9zEzTDCnBtUGRr3OmChh7wRleUViUJfTtoaoSFaMeFTLMWP2z krXKMLA+t/jQAMuyi76nktE4a0sQJ3xJLuQrJMCtWqfIHPewOUKMw/KV1ffmqAiIUcLD R30g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788088527; x=1788693327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=bNBolfdjDJZim1d0V9ZQFfyaRgxWkpiwGCAz20WAkoM=; b=HlPczS4/m7ZjnIRIa4hKImr2+2hpXhVQ7m2M0n5JrbfMLrnXYpFH+T+MZdkbrYP1iK W8KlC8QrLvYysO8pORfcO/tdkiNRbr9vWEkPKsio3xaSuGoloVo7HlICAVRB2yKKwXCD CYqDvCfTuMhKnK7JGclaN4BZ0l9GvJxgaPLyPWR/FXZ098E6lFKDd5dMWDPHVSuRARb/ VnfWmROljvObBMxggs9RgUxYY0WNp7B/b1oL9apANHbFi6ZJ46jl/GOJmP8N6NJNJi39 xMhzMqwP5ToxufjpFWSOfx3iVCYNxuoyCHt8RnKVVFJPv97IsF7vLfyjxOX8HcmQd4GL NbYg== X-Forwarded-Encrypted: i=1; AKwUvBzOexzaI6BKDaq/8FX1x9qiCMYbDixuXHitQCBm/eVKRM8p8iKEbSDv5qjJVbNDE9v7RfAtSeXUUv5sqYA=@vger.kernel.org X-Gm-Message-State: AFuF++lwfS546H/xlknKNHXE1KIUlHn3pQFlQHBCS9kAHzwUMbmqg2w1 M4IZkgSnhqKFApn74pTDixRUXeGuEG338PBOs5E3inMvjc2UriqWwr9/WgpzVQ== X-Gm-Gg: AYBFou2W8Jkvgfwgz9JkCnVKLtHefMYyLilUijfpKt0TRggIXnrqEZ/iNXWcexwXPeq SOgWB8IT/DAg4/xHmg/SJq01bL84pXi68J5nOUSrTlTl/xM2ODff4NCQASpg0vqfpcKmVzAlT99 4gq9Q5sizQN88SFr0lEdgeyunx7DVpeXdvIrPvLdOm66ZWnaeExwDkrr5BRoSOLWPb8dVOo2JD5 59ENi53NrU/mJ9so1Uqhhznj/RTdJdoWscALoYUGmLb1TNtsKkrNdw5mYTFStVaBnjhho3Ripu0 3Pqw9FfIlJ7fbvsoCvSqyDxY0j4Nsvt1OwnYWFNkE6DYFm41ffn3VY13dUQizohyZq5U6R4KLWr m9GGQ8i2QdPfQlZKr4JhMsHP7juDyUSvRh+61vPmbAtwoNr9QvPG9Z0JMSuM3v2Cx9t5rXAuNut y4+OUjjM+iV6QTAmasZeJcI+Si8e1d5LKq9KrEf38WzkHqMn9ucXqId0c4m/5rwbe7qKo06NrRx DoUZ+CPJtB7onb/qqJ+/EZMlnBup9HKcGvODFsEXjgHZcab79I= X-Received: by 2002:a17:90b:4fca:b0:38e:fea2:df53 with SMTP id 98e67ed59e1d1-396d0daf8d9mr31040405a91.4.1788088526642; Sun, 30 Aug 2026 04:15:26 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:c021:485f:75be:3c7]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32874498f9esm18782313eec.20.2026.08.30.04.15.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Aug 2026 04:15:25 -0700 (PDT) From: Dmitry Torokhov Date: Sun, 30 Aug 2026 04:15:10 -0700 Subject: [PATCH 6/6] platform/x86: x86-android-tablets: use shared battery swnode group on Yoga Tab 2 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: quoted-printable Message-Id: <20260830-x86-android-lenovo-swnode-v1-6-066a91acb4ba@gmail.com> References: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> In-Reply-To: <20260830-x86-android-lenovo-swnode-v1-0-066a91acb4ba@gmail.com> To: Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Andy Shevchenko , Bartosz Golaszewski , Linus Walleij , "Rafael J. Wysocki" Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.16-dev-b242f The WM5102 codec software node lenovo_yoga_tab2_830_1050_wm5102 is registered automatically when attached to the codec device via device_add_software_node() in lenovo_yoga_tab2_830_1050_init_codec(). Including it in lenovo_yoga_tab2_830_1050_swnodes is therefore redundant, leaving generic_lipo_hv_4v35_battery_node as the only node needing registration. Switch lenovo_yoga_tab2_830_1050_info and lenovo_yoga_tab2_1380_info to use the shared generic_lipo_hv_4v35_battery_swnodes group directly and drop the custom lenovo_yoga_tab2_830_1050_swnodes array. Assisted-by: LLM Signed-off-by: Dmitry Torokhov Reviewed-by: Andy Shevchenko Reviewed-by: Hans de Goede Reviewed-by: Linus Walleij Tested-by: Hans de Goede # Yoga tab 2 138= 0, yt3 --- drivers/platform/x86/x86-android-tablets/lenovo.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/platform/x86/x86-android-tablets/lenovo.c b/drivers/pl= atform/x86/x86-android-tablets/lenovo.c index cd8cee1f4aed..52d96ae89078 100644 --- a/drivers/platform/x86/x86-android-tablets/lenovo.c +++ b/drivers/platform/x86/x86-android-tablets/lenovo.c @@ -427,12 +427,6 @@ static const struct software_node lenovo_yoga_tab2_830= _1050_wm5102 =3D { .properties =3D lenovo_yoga_tab2_830_1050_wm1502_props, }; =20 -static const struct software_node *lenovo_yoga_tab2_830_1050_swnodes[] =3D= { - &lenovo_yoga_tab2_830_1050_wm5102, - &generic_lipo_hv_4v35_battery_node, - NULL -}; - static int __init lenovo_yoga_tab2_830_1050_init(struct device *dev); static void lenovo_yoga_tab2_830_1050_exit(void); =20 @@ -448,7 +442,7 @@ const struct x86_dev_info lenovo_yoga_tab2_830_1050_inf= o __initconst =3D { .pdev_info =3D lenovo_yoga_tab2_830_1050_pdevs, .pdev_count =3D ARRAY_SIZE(lenovo_yoga_tab2_830_1050_pdevs), .gpio_button_swnodes =3D lenovo_yoga_tab2_830_1050_lid_swnodes, - .swnode_group =3D lenovo_yoga_tab2_830_1050_swnodes, + .swnode_group =3D generic_lipo_hv_4v35_battery_swnodes, .modules =3D lenovo_yoga_tab2_modules, .has_crystalcove =3D true, .gpiochip_type =3D X86_GPIOCHIP_BAYTRAIL, @@ -794,7 +788,7 @@ const struct x86_dev_info lenovo_yoga_tab2_1380_info __= initconst =3D { .pdev_info =3D lenovo_yoga_tab2_1380_pdevs, .pdev_count =3D ARRAY_SIZE(lenovo_yoga_tab2_1380_pdevs), .gpio_button_swnodes =3D lenovo_yoga_tab2_830_1050_lid_swnodes, - .swnode_group =3D lenovo_yoga_tab2_830_1050_swnodes, + .swnode_group =3D generic_lipo_hv_4v35_battery_swnodes, .modules =3D lenovo_yoga_tab2_modules, .has_crystalcove =3D true, .gpiochip_type =3D X86_GPIOCHIP_BAYTRAIL, --=20 2.55.0.897.gb25b4bd76c-goog