From nobody Tue Apr 7 04:21:17 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36D903563E9 for ; Mon, 16 Mar 2026 08:49:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773650947; cv=none; b=gF0gWU+4CEPCaUSjX0+JZJ5hdvz6oxTKEjE+pKi9KJWXrHY8Lu99Yr6xkCxNDosPO3laFHvTCRicMZUt4YVjZQeS8dpneA4BXeZiSwcrT06U6XWYlzSGOIw0UoP6zxz0hK9RCuCVu7eZg18n6s5g5RgdKxrt0vXFJrRIHr3e4yg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773650947; c=relaxed/simple; bh=zjfrUZSPL+Ey4vHVH9UICbhejUK5xf5XPs6ol+gLPDU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=adM8spnlTDGbgueevFTL3h6BVrGQGGvdZPF4OyQc7J3yV69rE88Ea7OlTZy6wUUBubwi+wf9+QOIowZQDCObZWDsABgCiSLHnSmRXBKTp9ustHy+Yg9VI92eBqlL16awuba82zLVBxg21aUnkk9HigUW8Q8TSLd8EOx4Rsij3kA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=e9x3T84Q; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=QNKUqQ+5; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="e9x3T84Q"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="QNKUqQ+5" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62G7mslL041567 for ; Mon, 16 Mar 2026 08:49:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=Yeqe0BhDGyOYXSa1Lbdmgn FUL1DGKofYtLXOddnZDi4=; b=e9x3T84QNWyVzPcT+1odh/AeGV9KFnWUuhCGyc 1isWAof5jUNEOWkdCOo9RzPzEJ6/MOoEUsDrBIqwWi3RHYgEf1F7ASMv9VqutTdb Cf+ocU8l+IpS1Ur57noOabyA2SOSwmazSyAo6xn6LbzLoVOZJj5PV94RVzKyO60P QISrL3iMLOMaszo6/2VdjKLJUi9SbZBCyCMzPZwHHrNAgDV8Gr8iqeaSV0I2rwUx 8ThszAd+dXLx2LFt/MSrjt4b5Ud39o2fsWNVi39t6fP9sNuqgCO2J6bXYitQdiUv vtHjKgkYjL+dxJaYQE0YuCtmB6NySonkr5xyfddxtUL22+8w== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxdt806r7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 16 Mar 2026 08:49:05 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-89c3f19d4faso103008806d6.1 for ; Mon, 16 Mar 2026 01:49:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773650944; x=1774255744; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=Yeqe0BhDGyOYXSa1LbdmgnFUL1DGKofYtLXOddnZDi4=; b=QNKUqQ+5ylTG7BR0EKrMR9jyr0mgQberbBx2z/VCvPc+Xq0W7pAN74oVIgrMEK7lSX UbJ9PIWa0BVcVmlkMIZy2hzcgeyBKM4b7mnnCzOiIWo7X5n093NIjCbK5ZcO2psIaXKN pQ8aU59WSTGGTN/WQnaGdPPO5C9jjT1anWk1gBw37+lS/gQYMmRTaAAUzTxWA5jfxvkw tYuJkO8gJWUO6qfermwZ54xNeKKWrS3PZrb/HxWngSvWIDo58FZkocs8PJ9BxpkU0Cx0 94AvLKQJA24u/3xuxudLyDNQ1w/k8Al9s0ad0U7FbI15a4h745d0Umz7MohA0CSWf5t+ aibQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773650944; x=1774255744; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Yeqe0BhDGyOYXSa1LbdmgnFUL1DGKofYtLXOddnZDi4=; b=JEKqSqGl04HFuw8PgaTbl+GpYp4UTDiKYPvRn3G0zLFwwUi5WnHGwSpXP2RPtJlXy/ oBz6IB0wK3dF9Ztf1bCYxiPSj/8mjA6E4yMjBEnfb+nc/yy5ydw/NHJG3dXMlBLA4qW9 e+9PmBRcz0+jEPpnbQwbrJ5fvOhMU7L15dg43aLsYGs+0w/K6sTFiXW9y4edLXDZShIx T+FvAUnp06MHrrovFeBOl4L/ow9KbZm9/PYXnPErUXjKEbWw049VEbvpGtjkD+8Ptu4F kq74vhApEBwZ5WKOK75MhnkgJf/B2Xihqb4HZWw9Dtt51VFspHeJRltQcATnGLh2xdZs a8vA== X-Gm-Message-State: AOJu0YxWlrF6n8c+x8zmrj6sXs9XjsItXp49GkGCabW1rkTRyDuqdVpe ZZXAiDswTeXLv0iL/Fy//aNSLjiiB67WrTDOibmA5i+/2TTQ6wFxcL5yRtP865bYMuM8IbgJ281 boTGLDHBBK1jn+7xeapj2oPQFalSKOGCQpJb4wqQ3aXgywoYaFKtmTHVvMxWeFJjPdQWrwv2D6m 4= X-Gm-Gg: ATEYQzzzoORggI9OlkFq8h+kegEDeA1EjItDWZbfERggduprICwn1KGuWq6wDrwR4FU JZneZQsj5rDzymYqyrNCJI2MOAXrg4A90qADA52dty96dBg5mJGg2k1hdp+frQA7ljyI/UlDzIS bqcXkxGk88xOWk+R682HifWNXfZ6pNJYcNk/wSzYFviQ9jIuSTJss1iFS/pS5mzW2lwPrfaXWrw dh5moFo9PkSFKCiqO8cWYOxDr7JdSyd5rCWWhZwMK73UAH8oHFb+TD54tdwXrMFM9PRpIxi+yd4 2QNGmaq96yxKzJfddGJGDMqatVBpKnadoiADd9jaUP06S62tWSY+I5eh2SUzWjeX44Aa2RMk51Z WPT9XcsIa0WFdzGixFTVT2Txu78S0t1xZd8so+XDg++lm91pNFGfx X-Received: by 2002:ad4:4dca:0:b0:89a:8434:108c with SMTP id 6a1803df08f44-89a84341260mr108559736d6.15.1773650944229; Mon, 16 Mar 2026 01:49:04 -0700 (PDT) X-Received: by 2002:ad4:4dca:0:b0:89a:8434:108c with SMTP id 6a1803df08f44-89a84341260mr108559536d6.15.1773650943714; Mon, 16 Mar 2026 01:49:03 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:ba9e:e504:fb0b:f1f3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48558fd09d8sm249358115e9.7.2026.03.16.01.49.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Mar 2026 01:49:02 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 16 Mar 2026 09:48:56 +0100 Subject: [PATCH v3] platform/x86: meraki-mx100: use real software node 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: <20260316-meraki-swnodes-v3-1-15501a52300e@oss.qualcomm.com> X-B4-Tracking: v=1; b=H4sIAPfDt2kC/3XMQQ7CIBCF4as0rKWBgdbqynsYFwijJdqijKKm6 d2lXZmom0n+Sd43MMLokdi6GFjE5MmHPodaFMy2pj8i9y43AwG1AKl4h9GcPKdHHxwS11or4Rq 5bPaa5dEl4sE/Z3C7y916uoX4mv0kp+9fKkkueINCQb1SuqrtJhCV17s529B1ZT5sEhN8Ks2XA llZga1AOgNa/lLGcXwDGNVpGvkAAAA= X-Change-ID: 20260213-meraki-swnodes-44430d8178b4 To: Peter Tyser , Lee Jones , Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Dmitry Torokhov , Andy Shevchenko , Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org, brgl@kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=9186; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=zjfrUZSPL+Ey4vHVH9UICbhejUK5xf5XPs6ol+gLPDU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpt8P5gku1yvjsKRplBx7qA/OCFv+Mnb8thAvfL pRcpOEEbOqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCabfD+QAKCRAFnS7L/zaE w87wEACoFhhdidb3hPUc30m1tjxlGicoKvEYi11XtM0b4RJ6trcs54eKLlFOzUz3PZH+burzcFy g9eMMjqrsYRmKsxYMn1vbhmNS901ALnbZd5NMl077ZEroDVlvPDAyClIOgy+V8okz6Qs9zNJrhT /avi9Kw5goQ8bpojUofWR0k+hKpbc4H+dQ8iF0MioSOjrdVONm3mhvNDCB/yhkD84Shc9loxdek +kphygb6z0OeNlo8BTa4+uF3Wsd8Pg2KRQa5H7ol8nuBMG0Kw9h/BKVHO8ifwhZl6/5dV+tB7Ak c+sLuXgKvQskE4h4cRwMLbsOLPisaLuftr92bkRg91XcvS50IA9NjsuCI/Z4IdBZuyCNCMTy+in 8tNR0PYtFK2bHnk1a4LWJIzn7IoXeeLQJx38F7jle+iDXN4rerwwnJ6uKS3wfEf/1md0BV8AwiX jhlNMQsoCIv2Gzebrr5pc1W+fPD8WwyRB7rwWCXsrj4GuOh8oKL4ViDWtjyqjmR3y+SMkVW3UqY 4+cddlfQL7b8itsesCOi3i5wrralh3np6Jp8pJ/47O0ztg8DraM9RsoudcQJKdy5KRUS4LGUdHj lH500VYIc9hD4I8yKZ41D76ENJf9ZyqgnXbYyO5gbilkQtCBZXEi8O4gtN7xg90I71f9i4XAkWi RZVSosbxF+lYE7w== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: xhPUmWcbCcOdNZmCdj4p0JM4Kr2kmwL0 X-Authority-Analysis: v=2.4 cv=CKInnBrD c=1 sm=1 tr=0 ts=69b7c401 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=bC-a23v3AAAA:8 a=EUspDBNiAAAA:8 a=QyXUC8HyAAAA:8 a=pGLkceISAAAA:8 a=9mnYZnbXW9C0Qs4GJNoA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 a=FO4_E8m0qiDe52t0p3_H:22 X-Proofpoint-ORIG-GUID: xhPUmWcbCcOdNZmCdj4p0JM4Kr2kmwL0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDA2NSBTYWx0ZWRfX2uT6J61aMHxZ n/09e6JGuL3F88jZf0cZjddNtdpvR2/r+e3TWPMWnjC1GPLZ5w1kZEjSaPAm0lQMUZHypnyHtUh mlKO9fk5RSVRZvITg1urM3v1uzHT7gl2/ScfGsjkp3ZeOadvubwQ6VxzAzOLWGw7vh1pGwTwsbn 5/BSvRL1tkjkLnJxCIDFd9IFUbD7TCfKVrYOKXBaU7BIUES4W8UbToQdvxp5v9y9jyy5wosnqH9 0lcs2JgPurWh1Esiq8obBRRANiKs/9Bf+6oLCkHAHwKiIE70A4NsgowOAnbagr+KanaUnAeX66U HJ1EaKln2z+anphm5EukUsl8XOZYXKKP/AHIa7C7oxCrotfAWWcPzgwzJJAQr7w7jpVVsZu2bxv JkHkjU5NGs3jWYbc3lDovhmRvDpLD/143p2XAAiJCYt+nf+tQPE4bRfGpqVYzv4Lw3HzTMbcvfY 4gInGPC1bZukcqRN+ZQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_03,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 lowpriorityscore=0 phishscore=0 priorityscore=1501 bulkscore=0 adultscore=0 impostorscore=0 suspectscore=0 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603160065 The lpc_ich MFD driver now exposes the software node associated with the its GPIO controller cell. Remove the dummy software node from the meraki-mx100 driver and reference the real one instead. Acked-by: Andy Shevchenko Signed-off-by: Bartosz Golaszewski --- I'm resending it as it seems patch 2/2 fell though the cracks. Lee: could you please take this through the MFD tree for v7.1? =3D=3D=3D Meraki-mx100 is one of the GPIOLIB users that abuses the software node API by setting up a dummy software node without any logical link to the GPIO controller it wants to use and uses the fact that the GPIO core matches the controller's label against the swnode's name to make the lookup work. We want to remove this behavior from GPIOLIB in favor of actual matching of firmware nodes but that would break this user. This series creates a real software node in the MFD driver and references it from the meraki driver. This can be done in two patches and stay bisectable as the software nodes, despite having the same name, will have different parents so there are no kobject issues. Merging: this should probably be acked by Hans or Ilpo and go through the MFD tree for v7.1. --- Changes in v3: - Drop patch 1/2 which got queued in the MFD tree - Link to v2: https://patch.msgid.link/20260218-meraki-swnodes-v2-0-92c521d= a241c@oss.qualcomm.com Changes in v2: - Use a namespace for the exported software node - Link to v1: https://patch.msgid.link/20260213-meraki-swnodes-v1-0-8e03269= 3456c@oss.qualcomm.com --- drivers/platform/x86/meraki-mx100.c | 41 ++++++++++++++++-----------------= ---- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/drivers/platform/x86/meraki-mx100.c b/drivers/platform/x86/mer= aki-mx100.c index 8c5276d98512390effcc9f2258a6061684420d11..9f4caa1f3a923164eeaf31765a4= e83c874cff181 100644 --- a/drivers/platform/x86/meraki-mx100.c +++ b/drivers/platform/x86/meraki-mx100.c @@ -20,16 +20,11 @@ #include #include #include +#include #include #include #include =20 -#define TINK_GPIO_DRIVER_NAME "gpio_ich" - -static const struct software_node gpio_ich_node =3D { - .name =3D TINK_GPIO_DRIVER_NAME, -}; - /* LEDs */ static const struct software_node tink_gpio_leds_node =3D { .name =3D "meraki-mx100-leds", @@ -38,7 +33,7 @@ static const struct software_node tink_gpio_leds_node =3D= { static const struct property_entry tink_internet_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:internet"), PROPERTY_ENTRY_STRING("linux,default-trigger", "default-on"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 11, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 11, GPIO_ACTIVE_LOW), { } }; =20 @@ -50,7 +45,7 @@ static const struct software_node tink_internet_led_node = =3D { =20 static const struct property_entry tink_lan2_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan2"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 18, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 18, GPIO_ACTIVE_HIGH), { } }; =20 @@ -62,7 +57,7 @@ static const struct software_node tink_lan2_led_node =3D { =20 static const struct property_entry tink_lan3_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan3"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 20, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 20, GPIO_ACTIVE_HIGH), { } }; =20 @@ -74,7 +69,7 @@ static const struct software_node tink_lan3_led_node =3D { =20 static const struct property_entry tink_lan4_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan4"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 22, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 22, GPIO_ACTIVE_HIGH), { } }; =20 @@ -86,7 +81,7 @@ static const struct software_node tink_lan4_led_node =3D { =20 static const struct property_entry tink_lan5_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan5"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 23, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 23, GPIO_ACTIVE_HIGH), { } }; =20 @@ -98,7 +93,7 @@ static const struct software_node tink_lan5_led_node =3D { =20 static const struct property_entry tink_lan6_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan6"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 32, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 32, GPIO_ACTIVE_HIGH), { } }; =20 @@ -110,7 +105,7 @@ static const struct software_node tink_lan6_led_node = =3D { =20 static const struct property_entry tink_lan7_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan7"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 34, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 34, GPIO_ACTIVE_HIGH), { } }; =20 @@ -122,7 +117,7 @@ static const struct software_node tink_lan7_led_node = =3D { =20 static const struct property_entry tink_lan8_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan8"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 35, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 35, GPIO_ACTIVE_HIGH), { } }; =20 @@ -134,7 +129,7 @@ static const struct software_node tink_lan8_led_node = =3D { =20 static const struct property_entry tink_lan9_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan9"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 36, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 36, GPIO_ACTIVE_HIGH), { } }; =20 @@ -146,7 +141,7 @@ static const struct software_node tink_lan9_led_node = =3D { =20 static const struct property_entry tink_lan10_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan10"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 37, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 37, GPIO_ACTIVE_HIGH), { } }; =20 @@ -158,7 +153,7 @@ static const struct software_node tink_lan10_led_node = =3D { =20 static const struct property_entry tink_lan11_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:lan11"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 48, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 48, GPIO_ACTIVE_HIGH), { } }; =20 @@ -170,7 +165,7 @@ static const struct software_node tink_lan11_led_node = =3D { =20 static const struct property_entry tink_ha_green_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:ha"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 16, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 16, GPIO_ACTIVE_LOW), { } }; =20 @@ -182,7 +177,7 @@ static const struct software_node tink_ha_green_led_nod= e =3D { =20 static const struct property_entry tink_ha_orange_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:orange:ha"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 7, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 7, GPIO_ACTIVE_LOW), { } }; =20 @@ -194,7 +189,7 @@ static const struct software_node tink_ha_orange_led_no= de =3D { =20 static const struct property_entry tink_usb_green_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:green:usb"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 21, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 21, GPIO_ACTIVE_LOW), { } }; =20 @@ -206,7 +201,7 @@ static const struct software_node tink_usb_green_led_no= de =3D { =20 static const struct property_entry tink_usb_orange_led_props[] =3D { PROPERTY_ENTRY_STRING("label", "mx100:orange:usb"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 19, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 19, GPIO_ACTIVE_LOW), { } }; =20 @@ -230,7 +225,7 @@ static const struct software_node tink_gpio_keys_node = =3D { static const struct property_entry tink_reset_key_props[] =3D { PROPERTY_ENTRY_U32("linux,code", KEY_RESTART), PROPERTY_ENTRY_STRING("label", "Reset"), - PROPERTY_ENTRY_GPIO("gpios", &gpio_ich_node, 60, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("gpios", &lpc_ich_gpio_swnode, 60, GPIO_ACTIVE_LOW), PROPERTY_ENTRY_U32("linux,input-type", EV_KEY), PROPERTY_ENTRY_U32("debounce-interval", 100), { } @@ -243,7 +238,6 @@ static const struct software_node tink_reset_key_node = =3D { }; =20 static const struct software_node *tink_swnodes[] =3D { - &gpio_ich_node, /* LEDs nodes */ &tink_gpio_leds_node, &tink_internet_led_node, @@ -348,3 +342,4 @@ MODULE_AUTHOR("Chris Blake "); MODULE_DESCRIPTION("Cisco Meraki MX100 Platform Driver"); MODULE_LICENSE("GPL"); MODULE_ALIAS("platform:meraki-mx100"); +MODULE_IMPORT_NS("LPC_ICH"); --- base-commit: b84a0ebe421ca56995ff78b66307667b62b3a900 change-id: 20260213-meraki-swnodes-44430d8178b4 Best regards, --=20 Bartosz Golaszewski