From nobody Thu Apr 2 22:25:10 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 E7E092F12DA for ; Wed, 18 Feb 2026 10:48:14 +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=1771411696; cv=none; b=Ue9inkryVEETxIaly13PwzdcAsmuEX4OFi4J1b9j+Xoz41a60aRsufe9wqJlazW9ByWNEkiWl17HHl+jwMIy4+bsU3twl6/97EBOkw6ZV6qEMphikUz/WfHIA4JewQEr3CEPcoJT7Ks5yWHDzQz3zK14aAxPCKBuGpnEq6BJQjE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771411696; c=relaxed/simple; bh=p4I6eLgGRPjOxVMeO7n0rnhs9k1EdCulGiDJHuM75Po=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PG4uAEvrUjM0EJqDbOTz8AmCJs5KWtq35vfvn9mBDZwuu/rtfidm8wqdif7oPprUQWWUgxPvZ+QEIoBKIjUMo3t1jeA6vopFMF119G+Oyf7SPrnGmMHiBxhEkObNGMPlYZIf4Qqjha6dtkF/n94eI3XQ7wBtGSQGol7n2hrtcsw= 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=TI0XJwyk; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SlmNnMfk; 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="TI0XJwyk"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SlmNnMfk" 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 61I8ihoN3380400 for ; Wed, 18 Feb 2026 10:48:14 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= LsNgWrsWp7kwiLVZlGJPzPg13q4/xkGmWurk0RM732M=; b=TI0XJwykUWalujq8 g/QypjBKF0DW7TgbglGx4t8iEgHEzgM+wd7z0Zy3Q8xdTpGUz+weDkD/+POEEQIX nuvEvmFTVtH5HlzBz9zYqvDaH+PlThRAdMa/v4M7KY53lwSWK33Ey1B0ilCwUqLW muq1/BcmmlVS10ygQSS4tvZMzPiWH1uDixFcNXqrbRiWbDfD0IVTkQrj8I7ukMDe YwdUda9mitmqq2MEkNKC5EC+ujGDdx3ihjkANTYtVT7rXAeLiDjZ0TjzGfYzsch0 CPQkNSgfLq0tK2cxCTHKGze7E57HvjnCGKVcWmW1C7SgULsMSJZTFrxqGoXbuiJT 6XL5sQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ccxnyj3va-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 18 Feb 2026 10:48:14 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8c71500f274so565876485a.1 for ; Wed, 18 Feb 2026 02:48:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771411693; x=1772016493; 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=LsNgWrsWp7kwiLVZlGJPzPg13q4/xkGmWurk0RM732M=; b=SlmNnMfk9VIxZ525H2FvxR8b+NNo9L7Vs+B1tluKMNR6DI1M41ADBBoXEkhVsbCioz VouuB4vyPFDIw6s8Oy54EFb1/U97nc2QYU6e5dknnZ8pOzo1ejSlRU1L5sLJyAYmdKJZ vyZ3v3NwzqzrR7/7bOJIN1UoWfokRn8ofJeF5bQRphSajMPdfUJFnvO1sOTILGGOiEMi dVS9q85Lb42h/YfKDs2oq40mMtY+L8rnvRtlUMnjtyGkqi/ULmpRAg6aR9FSLwO7dg5B 8tKzVylqmXOuV4bgYMm+bRkcrff8K10eoejWblAdbjP8/9a5yFTlIS269C5GCpCAIZuQ w22w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771411693; x=1772016493; 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=LsNgWrsWp7kwiLVZlGJPzPg13q4/xkGmWurk0RM732M=; b=Z3DeyEQlcaf+yMtdtxHeyNocMoYx9mLuZl+wie0jFttu0LbFNswk5sSdahkBBIQ4d/ 9pdirWiJOMf60iyLLhp9NhlY5AzPQfgJ7NH4XL6jAmHvDDWZ5EBGHseHFgJy4/d18xfP x8+8XIwBeXzaDVWT4czsh+5RsVC8fsv1U8IESfRejoD7ymYlBX6H/H1nM9couPV0fkSg +Beu3BcQB1nXChuGfQ2Afel4s+LCJJR0eRAqdDqcvixpDvE4CvIM+YBvqW84amZik916 9pg7zVoiMViEzxMcRuKIETQhR8DyR65glTujx2uNHWE/WkSOrHvHnQcJQ37KIChhjTMi wrkw== X-Gm-Message-State: AOJu0Yz3u4sXCHDLD0VIpI+qz9lXTOlbG2XdBe1SGbwh9iTH+5eHJV1H y/LeQ3Nw9d+BTr7QeF2FuZBKG+VYhqk5dcO4S5cwh8vSlWQeMn7vKEnx25AYgizRuOzy1fPPMPe 9Pg3/QPNDyuC8WQOn+1ALZO4/SYlT9guFuxZcPubOf8OrP9JDxtMHCYSc3ebBRhPy7SQ= X-Gm-Gg: AZuq6aK1J/5wwkqrkoZnpvSv86P6oPD82XJyr3VoYwaNyV0eAGTc/NJKDuWToqkNRfn cXhebUdSSEyscLEST4ycjbgrvql0atlnx3egBUlLO/jm7bvUz1VSX0iHo54ougzcUTYtXBqzCLP 00EXfmeG+g3fzAmNOCYX8sXz+NBHvqUm5FImrHCL9otdBGFU9kupdPboozdF9e9UpivRx+iNE1N 0NjrlmAnPyZE+agXvkowEx/ScXqckyenuhKjE+vKS3tI9dSspMhgRQqwLoGiLGDU2vetPUFKc8O p8wFPpnGMf3vInrbMlyM+pJ/ywkzqsEEa9QqXiJuXZh6waKuPnbTAx5XAnm0SgDAAgI5vuw3Gjv p3VD5kIJrQYhnZJCgCWkNBuvRib8r6Ny2oqc/4ozer4S+DRBDq/Y8 X-Received: by 2002:a05:620a:1a17:b0:8c6:d309:f9c0 with SMTP id af79cd13be357-8cb7401cf12mr156573985a.8.1771411693274; Wed, 18 Feb 2026 02:48:13 -0800 (PST) X-Received: by 2002:a05:620a:1a17:b0:8c6:d309:f9c0 with SMTP id af79cd13be357-8cb7401cf12mr156571885a.8.1771411692806; Wed, 18 Feb 2026 02:48:12 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6f70:9a29:d138:f5ff]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43796ac8d46sm41907451f8f.32.2026.02.18.02.48.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Feb 2026 02:48:12 -0800 (PST) From: Bartosz Golaszewski Date: Wed, 18 Feb 2026 11:48:01 +0100 Subject: [PATCH v2 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: <20260218-meraki-swnodes-v2-1-92c521da241c@oss.qualcomm.com> References: <20260218-meraki-swnodes-v2-0-92c521da241c@oss.qualcomm.com> In-Reply-To: <20260218-meraki-swnodes-v2-0-92c521da241c@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=2164; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=p4I6eLgGRPjOxVMeO7n0rnhs9k1EdCulGiDJHuM75Po=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBplZjnHR7sLlN5GWokwgAasf628dp9E0nYaxya5 FCsyzG1X1iJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaZWY5wAKCRAFnS7L/zaE w2R1EAC8WSP2OVkIZpUEPEZm9JLCf+UxCPU6npJpKJSqsHPzuUt6LcDZywEgfGtg5EU1n4B+sQp FL5TDEAgtkOyvGL0wPfjlaJgVyp6VlRJsRV2/k2puuysSFpPS58IsEaalMaDOPlryqroR9FatRU iSM+3KnWlNRmsP50mPJy9fkXzHvHipTE+ljFLj7pPtYPJwu/p+3BvCW9ksi202V66MrR9U/g64n adUVVeKta8yOMuLY3gWwMNYuKtPOb2I6EyNpTnggbF1I8abc2eBIrMXwqAsrWE8AytgBW0khBzq 8O539Q+LvOSrIeS9qqWS94rfk5AI8YKppg7kKv+/fI/ZRunHlHlDP1mIJPxx8BnmbBb9hxSrHNR aSiYzqjzKLg0HoDtwb2+uNjpmNOULD1okZqiHV++sdc+Pf9fD/ToompMcw93YoddEePSNSnZv7p ZWnlw0VVoeSh3GG9gqTfSdaK/5EsZxOohvwiv7ingtnPQ8IsnIX6vLx8OLFIw6+LszOlsaUAEcG XPeujHq6vs8QBiCCfY6InZvKs+Kkw/9K8QThpnEgOaJV8cC177g+IAfWQ2KNC9NOxfjry1B194I otLP1LtPIKLkqoV9kKWkl9k2GbPRvP7joScZ9puQbya65tcqkO30+ihojuO2SxaTBGc+2540XLU a9gXt355mx8dn0g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: 8xEyaOU_3r9vjOcK6RC4zIbQEg5yhDYg X-Authority-Analysis: v=2.4 cv=Do5bOW/+ c=1 sm=1 tr=0 ts=699598ee cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==: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=QyXUC8HyAAAA:8 a=EUspDBNiAAAA:8 a=gkop4zNMY9-1AnXrjugA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: 8xEyaOU_3r9vjOcK6RC4zIbQEg5yhDYg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjE4MDA5NiBTYWx0ZWRfX5BrT7uB35sGj bpvU9mHMWAiv5TfuwOKnxh1PZhE+KytfiC9882+jZ/RowQN0nBrLSp7n7pET7GhpW+fXSukiFFm TCdDJjJLdbxF4WooUMk3MIuMMfBOZ3oi1gjLPMOmdmNGuwQHxpnS8qzz3atl5zfTmF7FH6qeoYK KtnOMtsG7Nll5OFOi9xXZioTNHQpKzRjkFE4xB9csKEbDGr9C2UMVpCynkhzOnx1tYFommtYH4h tTyApYYVca6mE6SGoQMVX1b1JHFyLYsltFWbAKEcvE5IUDHHICYIHgvM4jJtNduMOJm3g2nVatn 5/0uG7SGPqDzxvi2A6wWJDFvOCHLCs6HtVWDzkLX7/8PbVMwox6iCKR1wZo28IU0ln3k+Asx2AE 6qZeM0iYDUdKb/olJmLU6YVELuQEuGJjpsq70hM4DHC9ypZF7dF4tbthZOB4xtaUw/uSOoqLyFK sDMOEX5RdR/790uTS2Q== 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-18_01,2026-02-16_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 phishscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 adultscore=0 malwarescore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602180096 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. Acked-by: Andy Shevchenko 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..5a3d79f339dd23994aee615c2dd= 6ef637e3c14a4 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_NS(lpc_ich_gpio_swnode, "LPC_ICH"); + 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