From nobody Thu Apr 2 22:01:15 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 --- 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