From nobody Thu Apr 2 20:22:13 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 6674D322B7D for ; Fri, 13 Feb 2026 08:26:05 +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=1770971167; cv=none; b=W7APbegg9zPeRYOuQhPMCM+ItRf3lJ+npvPbAP9TZxI2cSQCLXaVsu9vpd/KMXzq+PKJi+6dPFQTr2g8AkXyqEW1uQHFnj1wI9mjw34Lb9H+ugPHLIaGW3HVPQH4JnZKYWu7y/ra4lYsXikgWDALl2AjMtEUV0XLU23pndR5SgE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770971167; c=relaxed/simple; bh=X2KFxDDLT4tUMXyiAQnfFl7oMpITlCcd8o6K86Gecng=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fKILABUYtgilzsgJiasm9Jsp4q/jB9pKS2InZ4+oQD9AayPfWlAgNHKgfcxpWtVvJsvoXdYdhlFVROVSqEhaUUMXDa3GpHM+1oD/X8xY27nq41NVnF4Qke3ofjQh3OMjQoP51PI/8oJld5yYMWI/VsHSy5RD4HIM5Ux0rU15Sfg= 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=XK1hoibH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Yqdci1e8; 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="XK1hoibH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Yqdci1e8" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61D4RfKd455246 for ; Fri, 13 Feb 2026 08:26:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 8mzj/BvqnnG7xrUDC4Rq9s+yW9whephqWvMv7jrUvxk=; b=XK1hoibHG6cpmW3+ UnYscOfdlswgaifYMj+aK7P6cRZdRou7e3CKguPw58rXGzAFGWcaL6AY6DZiblTU po9H0+2Puv1UcI0y2rFs8+ujYDpSTOMwe2mpWdVSEXGrT7MYPGe1Dam9yGwUbdH5 c68U9o2w/AD5Q/zaSTtPSLwzwf04lJUOjixtS6YbjJBYF+v4alFj/mVgpLv24Uls UWJz3s61hzIV94lLpoWJ+mAXmAjyGa0EVdLdPnTrvI47u7PLOjKwavubRQVqO2ak mrkS1+kA/PiIY3TW0ugZC5izbz0HjONkwOGCABgGuw7f0PKYW9CxzpPJTW5INryv 0H+IFw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c9mev2fga-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 13 Feb 2026 08:26:04 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c52d3be24cso112494285a.0 for ; Fri, 13 Feb 2026 00:26:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770971164; x=1771575964; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=8mzj/BvqnnG7xrUDC4Rq9s+yW9whephqWvMv7jrUvxk=; b=Yqdci1e8ma4w9nALydFu//WWUqXD1PoKAJwIO1DmT4NBybORMuFvwDLAlfStIfQiYP wbgdSRnngcJCOE4HlaTzdZqGYNbp2gApWFjz5cOVtrwFABFjDR8E2a4ZAOsitbulO9YA 1tzYuWV7Y7aY/k0oNO1u7urEbNPMS7Jp1WKNJqPt5tSqXAnI9clmTOLUsDcav7zTdG/l cxHlCmnif5xlS1OBBqDT2J62VmKoFiBAQfQTsVKDgH0raaRCB7sUeFScyasnVBEN9Mvt 55UgaZ/GxCIaizOsqHBl1OK/3qu9tqC7emeOsUK37ru371sxnrSMeEaQX5NfTD7FAvT1 KNjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770971164; x=1771575964; h=cc:to:in-reply-to:references: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=8mzj/BvqnnG7xrUDC4Rq9s+yW9whephqWvMv7jrUvxk=; b=rw/Ez9z/R8tQhjKLjBXiP7zMlyFqfTLSyKiyV3uqeuBjhdPlmh/pZ7bGwZ+ycpz7yV 8H86x6l53j/aNifJWErqVMslMVMHuE7h7A5Sy02sdPQlEAXLThygGMI+r4Fmvc9R3QPc IHbjYJEoFtiMXKDCwhmHvD/7x4U/19sQ1raFTg2mLgEqZezrp0Aq4A7Mma/6TBcI79Jz jfAeES9SmvrNmWsmABft1fcTY7kLsYtyjr6Xx0yhKhvOs6BTAuMbn30B19swoxAISd7p 3dcX1ACo4reBkk4ZAahn/0aNZHtcCznIcbX6QurVpcRcuthONtEwg1gq+qKeGBYU0vdo 27SA== X-Gm-Message-State: AOJu0YzhUlDoUnnJBifDVWiIvn7awkQjENCnKKTDtPWWGYoKrJvSs4xv 2WcyzJa2ndwKalkEW9tNGnYO0DXX2nDnesXbRPGrLNhJzCkoWHQcGnFIFnqlsSOlM5d+I6JHDd6 1BcqMc7fNTuIvPfxymU8JNkqcEpjllJ1ptkV+NNU+0E64vXoU0lc0P2ZmlKrsnDM0LM0= X-Gm-Gg: AZuq6aIQhesW7ka+z3Fu2qg7btTMKi84qGDTDo8g3DJkc92/58GgqZTpMn8eKAeY37d erD6Yun/TCq4ysnJPJg/FMeEss3gpe85vsB68iCFW7vWcIDk4uMUfij454i/MiGrvBif3K8Lomx +DdVdO8uLy7tWGsCHTTSVYJBReLZb1rCIrJVjEE6lEq/ALU3eRCxo5fztqu54lfsQMHLcygvVz7 ThWA3euh5MFEI00AkJZc0wBp5B+geKK/+rqzftUA1dLcO2iO4Kjh9eMY4itojxpakbEvfmo21zG oRM+8dPN4agbz3+IDgTEKcGqZxGpnKP2NMDhALs22/S/Ip1IuNHZSOdRvCN/ht6p8KpTJgwXgp2 O+tNcvFU2l5zCydkI/cwu5m2v29Yrks3wmbf2KHcDVXHkTyvIUIe1 X-Received: by 2002:a05:620a:1aa0:b0:88f:e620:21cd with SMTP id af79cd13be357-8cb424afaccmr114531685a.62.1770971163806; Fri, 13 Feb 2026 00:26:03 -0800 (PST) X-Received: by 2002:a05:620a:1aa0:b0:88f:e620:21cd with SMTP id af79cd13be357-8cb424afaccmr114528985a.62.1770971163283; Fri, 13 Feb 2026 00:26:03 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6de6:6c0f:d493:4a7a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48370a78c89sm43075025e9.5.2026.02.13.00.26.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Feb 2026 00:26:02 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 13 Feb 2026 09:25:24 +0100 Subject: [PATCH 1/2] mfd: lpc_ich: expose the GPIO controller cell's software node 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: <20260213-meraki-swnodes-v1-1-8e032693456c@oss.qualcomm.com> References: <20260213-meraki-swnodes-v1-0-8e032693456c@oss.qualcomm.com> In-Reply-To: <20260213-meraki-swnodes-v1-0-8e032693456c@oss.qualcomm.com> 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=2087; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=X2KFxDDLT4tUMXyiAQnfFl7oMpITlCcd8o6K86Gecng=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpjuAVGcYjNFKeEt7GSH2Y78QD73sImjacrfFky 6j2fUYA0iGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaY7gFQAKCRAFnS7L/zaE w9SwD/0WVVdku3ukkznVyaO60kCSZE1wEhRef14WJybpkEfnih5cdk93f8GlzzIFJvXFoihlEgi 4tYSA3efVfWhcAL3S/fCBybVxr4J0yxyKO3Ev0dLAWevkYL0podlLxKs4buQ5s5j02ubbdPBuFR 38m1vy4ddcClJqYQjB+tYE/GXrMYhQWeGjOulpcOWN7VUgEAnAmAu7C91sb85LNu7kGVJ7ncnla 1qXKInXTnnUFrXYnf+LTUZXq4SU0kh8/KlWHQFySN+2sSrxv+locQeHZ203/gnoaw3etkoxoiCV 1Y23KA4dx8+h8siv7GU7pZHC1GdVIas+jwbnWqeshKIdNictkR0u3usuDTScLnVn/Vh4zjHviSJ zpRUgC5xSdyPNMPT1NF7k1W7PP8OdxpqGvvVBHb/5ucAcvYlJUcJ4euy4tQi+UIVAovEI+KPCkr 7qhX7RaowFFGmjqFXq6ykmhyaN+ji+Q4TZvHes4JMTUpu01/bKoM+a5sWgbUpawJ6ukxdzsOO1g FVECl7+1tr81E4KS6PPtlw0VIis2zevHaOfX57ORSb4IGXePR6oAMBV+Vu3ze8XgOtJ9RnqdOfl Lx28y6X6yBTGdHS16wSoB5DjkCUOz6PniNtonAuQoM2xIII4nQezQ5kdN9ik5aEgXLaPegrBcHU abYl/6EVgPjDrBA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Zq7g6t7G c=1 sm=1 tr=0 ts=698ee01c cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=gkop4zNMY9-1AnXrjugA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: JMy5yj2hgaEpP2ZeTKAcUmX56B0d-UXf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjEzMDA2NCBTYWx0ZWRfX42KWKmuWFAE6 wlgD4bVqgLtZ+Y5YuEYb3qBJOs15tRTRNueFiluhJtSZnzYdvI4GgxVek1a7iGKGwv9aXhdhXXH ztlFitI8Kcu9BYhLYwx08637yEbDiyibdLhXrEGOmCyZJA98N9oASiScl5xEjjjne/31gRzj0Xe BH+F7JiI6uhjWdxQWaiIuOmTG15P2saQe0qvoRuhEIgF7aZvzyRBR7jZEgdBXLlXIZgAdEA/QAj im44uMovRciaGKGeRnVTvecjJwI7lIoSBNuPh4oesmtx/vchmdNImuFVYjyO7JE18FOvx5WC/Qh qxfJ88zq3HWw27oest/+0QCLo3oLDuD4qAtCz0h09jeneikhz1SHfzkiArHFEpp1Hq4TDbHIpJD k1ab2/lnde/pP8kQ9dgXV6CVL2lWKAMGndcok0kwDI87gpn3oyE51V3YICkFwrTKJkTNTQrfd6z 1q+FPAn2OSzcKA/2oww== X-Proofpoint-GUID: JMy5yj2hgaEpP2ZeTKAcUmX56B0d-UXf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-13_01,2026-02-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 lowpriorityscore=0 adultscore=0 priorityscore=1501 impostorscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602130064 One of the users of this driver - meraki-mx100 - abuses the software node API by setting up a dummy software node without any logical link to this GPIO controller 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. To facilitate that: create a software node for the GPIO controller cell and expose its address in the provided MFD header. Signed-off-by: Bartosz Golaszewski Acked-by: Andy Shevchenko --- drivers/mfd/lpc_ich.c | 7 +++++++ include/linux/mfd/lpc_ich.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/drivers/mfd/lpc_ich.c b/drivers/mfd/lpc_ich.c index 4b7d0cb9340f1ac51bf3845427ba1dee8cad5667..ffef785e86d34c4302f7f88a472= e969c47616c9a 100644 --- a/drivers/mfd/lpc_ich.c +++ b/drivers/mfd/lpc_ich.c @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -125,11 +126,17 @@ static struct mfd_cell lpc_ich_wdt_cell =3D { .ignore_resource_conflicts =3D true, }; =20 +const struct software_node lpc_ich_gpio_swnode =3D { + .name =3D "gpio_ich", +}; +EXPORT_SYMBOL(lpc_ich_gpio_swnode); + static struct mfd_cell lpc_ich_gpio_cell =3D { .name =3D "gpio_ich", .num_resources =3D ARRAY_SIZE(gpio_ich_res), .resources =3D gpio_ich_res, .ignore_resource_conflicts =3D true, + .swnode =3D &lpc_ich_gpio_swnode, }; =20 #define INTEL_GPIO_RESOURCE_SIZE 0x1000 diff --git a/include/linux/mfd/lpc_ich.h b/include/linux/mfd/lpc_ich.h index 1fbda1f8967db41ba3bacd331e5d18dfa8ebca3c..1819aa743c5c9aa1ac51710bbdb= befab50670ebe 100644 --- a/include/linux/mfd/lpc_ich.h +++ b/include/linux/mfd/lpc_ich.h @@ -37,4 +37,6 @@ struct lpc_ich_info { u8 use_gpio; }; =20 +extern const struct software_node lpc_ich_gpio_swnode; + #endif --=20 2.47.3 From nobody Thu Apr 2 20:22:13 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 0E87E327C18 for ; Fri, 13 Feb 2026 08:26:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770971168; cv=none; b=P/yE2IOJ5T7DIPYGZ0lYwHhnOqHtc11o2vv9zKC6yrCNOKp/Dy/vv5J8U4X21GZlQJm9hQ0wQrcp78AphCZ1UrBG4Nhj6DV8Qtb3K5UIdWGafgtFSfQFQZxJS+L8Q6wGKGfoq+SGG7v31PqIlQeBLM1BggU3qxUpXv0eoBvYQM8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770971168; c=relaxed/simple; bh=5Q7SdkbTMle0m4+HfUBeV0NMkxzBwcTxtXfzJqxazXQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lJv2Y+aG9r1cSVu750Y8KpjssEWa2i6IHYa/Fs/b52Ym01rRMrNFtSEkT94XLE7H9Jkn1UiM4HUzOA3r/3iUofMFpC3rvdX6xAkBdF+iExBK+P0ZPHyIX9qH9i9T2b0bXYNmmrg0vsWQYXjm/yxPgLyqGOAjXFaur62D1kHKbwk= 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=m7FTH0FY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RZC6Xlbt; arc=none smtp.client-ip=205.220.168.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="m7FTH0FY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RZC6Xlbt" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61D7c2FI652162 for ; Fri, 13 Feb 2026 08:26:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 34wRrCzuqbK+ysVU9RW5vE+7z2lDW+77OV63uWI6j1M=; b=m7FTH0FYgyko00UA oEUhppje16+2/cz76Ac59/VxdeXAgB5FBLXPnvs5Fv8moO77zKIL/lk+f9Mq4KO3 v6UFhs4xMSsk5muao6WxrJJt2BBv+jWUPESMvWHjiAoB3mS5WcLDdyGuexkcCTht MZFGiPSw2jdwuDm1yh4SAOnoJJga6J4nHcN3V5sGQktJq2GjOFY+X005Ycpi4t6+ sVkUdHJ4ZSe1h0XtVNcZvnkPEeSeTc46hu8+HKRymz/e2nUAlZJpOjWg5UN/jmyC +w10D6iFM2tLbF4ibcZCdNiR++U1yMF3n1tnouLyVeTzuhBc+H9b78Qc8veHJ8uR 0k7Stg== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c9gbbkjmq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 13 Feb 2026 08:26:06 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb3ad1b81aso284478585a.2 for ; Fri, 13 Feb 2026 00:26:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770971165; x=1771575965; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=34wRrCzuqbK+ysVU9RW5vE+7z2lDW+77OV63uWI6j1M=; b=RZC6XlbtBR3a/5/eakQxKb90+7G2d2LiD2ZOQqwqJQAHQ3EwnKSV+G3Ar65NMS/+yV wC0gttSR51AETlG0RXG9NJFq9ifkjzS/awm4OVShykfCJzQBZar/4w5uYNSbHK4A0Cu0 7Gl6QyejPnj6vB1bgi0sBQ+R3Zl932uynHbde/HEwvcMEF3yrxb8NUg0ggEozd1jdHsA objZG2gAajTPuQY4wi5C3zZywx0sxSNcqO8ht8vnPXJ1GLQGJZKUiYbTViaE6W+/AxUV m+cfZOnZJ1UH9yWNIpsUbwV+pNuKCwHLwG/12CnlEhwVVA1rzjIcm1kysAiHp2qfMh4G Janw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770971165; x=1771575965; h=cc:to:in-reply-to:references: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=34wRrCzuqbK+ysVU9RW5vE+7z2lDW+77OV63uWI6j1M=; b=tBXBzBITfHgTrmpAh/YCzsRzWVQUHM2qT3iSWE1YIjAOTtgWEEp2NpihxmLA4mpPM6 cTJhyqDtAJYlPdlVcyLUlcrkje1G83l8ASDN25jqt8y0mApkW7gH6yEPZf+yvG4mb8Gw bGe8QI/ijJ8w1WfyBEPbTg0cpJ5MEaoe4S2q5sef/VX2INKr9jrt7Gg0T1uWwJeV2CbN RAMbck2m7bHhlQXtEiG68xp/mMkkiqzdR+qir8iy1wFYGSMPjS887+i+kyZl8EJW/Mwg iBPNKvYoFkVQGrvhljhWWQEqhEUNh98ihtXWQ5EZuOGarGJlwfpL9dT3QwZDvT1P3DUc hLhw== X-Gm-Message-State: AOJu0Yy9HloU51Yg9QJC4xGaYASEbLtvHqRHfa5FMne5q0TYcy5UbOOg LDtLOjL3qFC+oyc4wWPiuba9KtZkoBYlWpkn4rJLKLGRqNUftXrYvAOoCe/Jbpa2CBUQ2KoDUcS PYJ21xDZ3aXRICW77txFO5aeyBJqYpU/2BbHF4NWZzudmtO7ndqNKWnCFNj3Fvt3p4XQ= X-Gm-Gg: AZuq6aKapJ8tKOCN9XCsbbO97j/QaWsg4EH4UMKkNCqvwxd1WURpcKCik0FIUNoHxt9 d5u+sPHIeyJbi38ncvl9LeuQ2pjV3H9zDIgLk3aDvC0q6OIU7oigG8wb8Dk7IgLBOwCDrNvD4Gc DqnyaVALzMU+Vsuczx8FP0DsOJox1sq0YVeZa4QxcnZTl+IXpw2ilN0eDy5HnNe/Ky6lrtMpID5 XFC5+dX/8G7AlblNsrTbZrErHM4qBF41+S/KFl+cDazXIjw4YuIETbbrgEw1Lg4wmkMbq1RkIJ2 NBAdBjF2oLHoMngMXvVkFg2F3DosVpilD4SlxoVj2VrvaYGMQg6oq5kmRte6bF/E3cuvoAB0lba qQ6my0TLsNT6yMegDBcCl79sHEfGnlL2zfs9kbZ/AQpssOLfFjQp/ X-Received: by 2002:a05:620a:29c9:b0:8c7:10cc:758e with SMTP id af79cd13be357-8cb42407c6amr101489485a.45.1770971165255; Fri, 13 Feb 2026 00:26:05 -0800 (PST) X-Received: by 2002:a05:620a:29c9:b0:8c7:10cc:758e with SMTP id af79cd13be357-8cb42407c6amr101487085a.45.1770971164793; Fri, 13 Feb 2026 00:26:04 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6de6:6c0f:d493:4a7a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48370a78c89sm43075025e9.5.2026.02.13.00.26.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Feb 2026 00:26:04 -0800 (PST) From: Bartosz Golaszewski Date: Fri, 13 Feb 2026 09:25:25 +0100 Subject: [PATCH 2/2] 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: <20260213-meraki-swnodes-v1-2-8e032693456c@oss.qualcomm.com> References: <20260213-meraki-swnodes-v1-0-8e032693456c@oss.qualcomm.com> In-Reply-To: <20260213-meraki-swnodes-v1-0-8e032693456c@oss.qualcomm.com> 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=7433; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=5Q7SdkbTMle0m4+HfUBeV0NMkxzBwcTxtXfzJqxazXQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpjuAXxD1DU8alBGCuJx7ykvQhSIio1TF2shjcs r5ZMYdBnFSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaY7gFwAKCRAFnS7L/zaE w5z3D/9TpYaWS/nADb74kcMIB7kOdc5L4Y3SV+6/dqySZCyKIY95VxHOXJk0Dj3E+PpeWWOZwqF L3khYJRZ5pCz/jVIBnH0a8nNKf2K261i0ircpl9YyhqTsPWsPUAOHdpiqUK5QF8s+HIQNNNn/my BQJeZYFlDytJkoEl81ibhxiy0sEHASFJgyvWlGPe8EQH3Mh2clsRTomcpKNo/CcT4En7n5Swuj4 ENIEKx2Dy8V+YoEf5py3kqJtuF2U3eCRZ5si2DwxkLlFsBnUrnNqQikFguah7XBMMp7UjAs8QIv 95NyJuX7aaYKzqbxBFVY4wd0yB8gLX357qyNm37TiA7bCgzbvuP4VWbp7BCpV0aKCLiCls1YO0C iNQbEtFGsqzYXiAdAwPdDSkW83Ed+vmpR9YqiSk9AnBpIefJRb6IwHIp/AiQgvd8FIJ4nl9CVq5 9irJHBhS2jeU67gB4Fmg11BOKt5TwguF9mEzocSOC2ptgBIGhHxr7CzmDokyGvqT8/8lBntvvod Pe21xpdj3zJEQBxi6Dqv13EF1DXukU9QcH361nQDasWss7QVCy45V3cORjOVCGx0ITpE9BQq8eJ McJLmssmDaIDg4jBqEaEwnILo8HddQWdrBXgueQnTvHy1U0PAfniSBhSuGzOo3lbbIDPoWsifd6 I/L7b4l9cMlNo3Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjEzMDA2NCBTYWx0ZWRfXw+SykebKRZ2P NMzHYuWlq5SArdkDuTXyDmSI57NytQoSxAKpjKEs9uz7OOff90WQLwhpB287Ugehd2PqVnfDXZM fXCxlnCc4SkeC+L5apAdO3rgrHEyVTT0T/lyCemjl9iPCYKxygvdvd9IHHpYRXZ84NGKzLDXoDn DVs526DzzBtS9r+/0SFRj9CdGiHhQF+gq13MY4vRI+LqbP3rpTKi7abezaezumyfzBFQtlHjEVl q/aTLj68d8dz+V6i9TNKysR4MThbl7iLN/lVp3Wzi3AXQYHzDM00Kvz12O2dHD+693KoKUqhOEU 0e1OAETzYP+QJYztD0PhvslLat+wuMSMB0YqKMgBmTjjpWVFyqFMsT0B6X/JI9vDxlKdWy9yxRS 23Ls0tS2cFCA1b59R8SL1TadrbVJdlY8B5dOtoXbDYn+f11lKuLa1YQfl2C4Eu+pTsFV4MkBJBp Qcjb5x/dd3o2K9rfV6w== X-Authority-Analysis: v=2.4 cv=a849NESF c=1 sm=1 tr=0 ts=698ee01e cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=8uK6cGLCw7B09FO9iJsA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: z1wjz5RKZwOCEjda9loZxxPoTUa13Ath X-Proofpoint-ORIG-GUID: z1wjz5RKZwOCEjda9loZxxPoTUa13Ath X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-13_01,2026-02-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 malwarescore=0 phishscore=0 lowpriorityscore=0 spamscore=0 adultscore=0 clxscore=1015 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602130064 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. Signed-off-by: Bartosz Golaszewski Acked-by: Andy Shevchenko --- drivers/platform/x86/meraki-mx100.c | 40 ++++++++++++++++-----------------= ---- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/drivers/platform/x86/meraki-mx100.c b/drivers/platform/x86/mer= aki-mx100.c index 8c5276d98512390effcc9f2258a6061684420d11..170ae969bf014edb780fcbace16= e50ead59dae71 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, --=20 2.47.3