From nobody Sun Jun 14 15:53:28 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 1CB4B327BFC for ; Fri, 3 Apr 2026 13:52:07 +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=1775224331; cv=none; b=QWj7z+fKoPXfXFhK/3eY3AKIFyeXRh5LI2kN7QQWTfoSlf8NIjo6+1/zuHmSMC/K2mXKzlyv61+88A+ld6IdH+GvgyED8FuofwKI7WpzLKr70ud8/ldehg0W+yKyu6KGDoJbXkKvH+A46T/1F61yRUqYV8ymwZSHLplKkWCSi1Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775224331; c=relaxed/simple; bh=2zTa1uQYxUxYRVUzJRipjA8BBDZOomn/630n+yTJVvA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EAlFJTgcCcDBIzGt0k02pfpszeD0i2ZYo0/+5ph1Fq7y+mmhzYqkZYdtNOrIZ3PzNA9W728Idl7WdxnFSq1NwkkMCs6rrao1EgMKCobct+VETvUGtq7rhtEuGy208CAm8WDAvzP7q+Px+JlsmzWBOEjIm07ZNwy1AYDnvn89Eyw= 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=i31kDSEZ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=b2VNWYSc; 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="i31kDSEZ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="b2VNWYSc" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 633B1el41453490 for ; Fri, 3 Apr 2026 13:52: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= YBOqdtkmDAapfYrIsDUHeJtnSWg5R+XBtBgMNTUB28I=; b=i31kDSEZTO6j14Yq 54cDaSv3IS/hfSe+Rz9u5i5RKKRu4WBqnfUTRtdz2hgxm7sSR9z5T2yLEr+4AKhG tS/pCmxgrIN49cGzBR1606L33P9goC+5bFJSGkcSO46RFe45LXtuySdhFgMmrwrm g8wQEDABefLem7eDkTKDhFUq3rKJobyq5Fh3By+IXRd49VkwhTIJnajqw3xJk6zq W2+9Vx7P3vwfZ6ikFZsjRU8QkPohcmfRt86iMT074Rj7q7B9xWjJ4YnfdRygZLtC ZBlUs/ekD82i3yUCrSRPLOW/tG3X9xIa/53xZkUdueT84yC4fjKgI/iuV9F93d/B YUFYQQ== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dacam8eac-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 03 Apr 2026 13:52:06 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50b31cff27fso17959391cf.3 for ; Fri, 03 Apr 2026 06:52:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775224326; x=1775829126; 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=YBOqdtkmDAapfYrIsDUHeJtnSWg5R+XBtBgMNTUB28I=; b=b2VNWYSc0weob9aXUs1dmrVyEZ+eD1gk8q2M4VLb2hos3GloRxsdywCK0U6vnsTFdR jWW5iR3gvh5EBnLbw6tl9MV0yypukLaWxoldJ/Ydits5/LnotJtXYt6PjnbsQFXxvMR0 okoFsh3BG941AzJfyiPglZ8Rey4r30gy/7Ew4EbCJczbL1dgGS+IP1tyS2ARMtuSm0Dz gCTOmpmuC2kgx2gk/7+liSEDVbIQ+aSWR1B116U7itQk6naD0jDosWXXhCx7m/yet5UN oxV6diE2UIj8TQ8tKy5eXnZRf4sTDBrg/0nYPwN2K24F/zGKNtj+l+WHHOanTXeBMqbd czsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775224326; x=1775829126; 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=YBOqdtkmDAapfYrIsDUHeJtnSWg5R+XBtBgMNTUB28I=; b=prFJQipT1XYJ6qCqj/oghhTYKzWkgZABzKIkg5NWYq5uMClvcab/CCeErlssfFq9i9 Vmy+wiMUkpSXJLKH9P1Lk7wucMVH9pKjpfpe17QTnOV8TZau/hwlwYJftNbZLXLSkjqp LxDA6rzJ7ErgJrhAhilGoEUBIyiAFEmguHJ4d7j1LEUW1dXEYs45JhGPHjtP/VbUa73b 4yedypWaiRT5zbaNryY5o6K/XtU5v8mpjjlE5Y8QfppYMyT+BClo9OQ4DMaHBkbbi1Wr uNejKm4FeT7UUO0da4RgkiFziazT2/fuf3fniwiaeZRhAYU59CpaQW4zf7UeU/LPePSc RqAQ== X-Forwarded-Encrypted: i=1; AJvYcCUx+2lsClrqf8ryiZ4OrZeTZ4DoKEDhL3nAVwqSAz52gaOlC3sK+GWvD+6LvE5u9NJ/GISzZW1BZNm0oN0=@vger.kernel.org X-Gm-Message-State: AOJu0YxNtH9rAlAJyKU4VIpkHrEOAzU7tuA4NiuV47g8EXtepsWI0E0Q 5KkYgOa7admOsladUgWJbIHKNbPAJjevf0hUx0Ku1X8yMoBKTj9W/d6nQm7wOUbycUg0h21UepC aGgWwgeErnEKfdoC8dKBbo9iF7tCiNDZpx4IOqeSnKe0wVb0dIbP3gDEVnyKH0OiVqro= X-Gm-Gg: ATEYQzxgH0gg0ArAyZDuPXGZ20k98f6mNCzNp6z/wu8HwQHQeSw/CkfzrugBuVg76xu Dcn9zvUQE1wCR4E+gNxY0XnQYvSDgGBDHfP+pob1gtzYfzWrCZ8kdBp8rDFkrMHfz1QQY1gLHYY ei5br0FHXPwYs393UJhL7KReOra78xq2tOXPuMzxcwg9PzR9uarDnuYOcQEeaVvvbMzzXd8Evxr sCHF/Ybs1nPq6V5KSCdl/ukscnu99Rwk370uBBD2N1I6tX/K7YKzeZsZ4I2N+cDKzQAAXSMF00w WELLbGS1L58UlTlRHeWjODIYbHCmk1CJfYYEZXVRbNw7f4k8o9xlJyFYdxIdRRbkm8RwDhglPcI QYwIikmJm1XSwv9egCrr+7ppO0sD2U6Xbkci25+eFsWTlo0cozLrE X-Received: by 2002:a05:622a:6854:20b0:50b:3f50:178 with SMTP id d75a77b69052e-50d62772e90mr36398241cf.14.1775224326107; Fri, 03 Apr 2026 06:52:06 -0700 (PDT) X-Received: by 2002:a05:622a:6854:20b0:50b:3f50:178 with SMTP id d75a77b69052e-50d62772e90mr36397991cf.14.1775224325617; Fri, 03 Apr 2026 06:52:05 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:129d:59e8:f7c9:47ca]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4d29bbsm16948132f8f.21.2026.04.03.06.52.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2026 06:52:04 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 03 Apr 2026 15:51:50 +0200 Subject: [PATCH v3 1/2] software node: return -ENOTCONN when referenced swnode is not registered yet 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: <20260403-swnode-unreg-retcode-v3-1-7886092b28b4@oss.qualcomm.com> References: <20260403-swnode-unreg-retcode-v3-0-7886092b28b4@oss.qualcomm.com> In-Reply-To: <20260403-swnode-unreg-retcode-v3-0-7886092b28b4@oss.qualcomm.com> To: Andy Shevchenko , Daniel Scally , Heikki Krogerus , Sakari Ailus , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Mika Westerberg , Andy Shevchenko , Linus Walleij , Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Dmitry Torokhov , Len Brown Cc: linux-acpi@vger.kernel.org, driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, linux-gpio@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=1381; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=2zTa1uQYxUxYRVUzJRipjA8BBDZOomn/630n+yTJVvA=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpz8X/37eCiBlH+aem1nIKwfVlK9GeJXczn48iF rKSzEir77eJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac/F/wAKCRAFnS7L/zaE w92hD/0WgKx1R1QdJujvcq6sffSUDfGGKkdEhTqJ1XuTfk9USZdzbNgpV04hIVe0Cc2kl53gVTS 8sRcPAg0gkLKdvq4T0CIhQL5cQYK8nehO5qpF0FqyZ0ZYc1kgzRmTAIneqeRRJFqLK2zzt4NlNh Zo4U71ukvF6MpIXtQDp0q4gbXxdZb4R0hvWKZRQG/cv7++uYe/pQ0Xrju2LbrjxbMD99tu7tHBK cZUyzgnizNZi/AX9ssfQ0ENaZlG/yB8u3yoZEjXjwEj4qdHqGWhvswdtVaUZ225qMso8ICm4CRn 1xQ0lXLzskXvwomct6OCN0PlRVgDL1Xqr+BXWnTUGB0bA3YRyXGHl6xN8/xQeDvXBg1PYkYqD30 J9IFVBtFQz7/ZSkpHU15Z8Fv9W5xyMwKBGuIsOwEi2/y5Ukv7oqyH1DBmWxjNjo+UvIQF7ZK5kY BarEbjpFRoCdiSG8+cVTHbj8zh00WpFMnrLwqd6j8542JbnV7LLfD2Rh466JYurfzDObMAVQPhc 1ltMJFE5Ocs3ON+UOcysGTNOaZF01BfieRp+Si9GR0XQlP2cnL6ycefpxJ1xEQ4RBAwSB9cg3Jm yxEhy7G2FlU40MrDwj8xEK7b76VPgVQBAyvSW1DvG1qHQ+UOUtYLR2y/KDN5Ob/6xVPVACGXBRR k64RKpZZ4Jzqgrg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: qjkl-GzeX2NXNJL1my9v7L6O0gMXe8ji X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAzMDEyMyBTYWx0ZWRfX+QUceoTO8ewn 5TtntPaoGbnFL2Kh+Z9Idi1cT5JTuuPIYVhFvoFQ0au0XJGsss/XqcTClAZaBGxgq5cUr5S7BoN bEUwh1wdG8FWHWZEMRb261vWKOhLEuBbd1m7yKO33tZUcOuFB0QRz76KaI+Uk6HN5SWZcdB6Awc iI2hrnOYjIWpGbrqJrL3yHHnKAm6MA2GSXq0kCTNVnYtzfAAGqYYs/nsBkNC/Pu0ka97RkD70Rd ngABf+NWhncjPuN7+A9mXMIGzPPKN/HGqtP+vTGFPBH0JLvIuL64O2vt2V2es7awSJlz0yPsYaf vHlS8yEdmdHSMT7SV3tIKKbTyF1x8CUdQvbb/K04kAsrE+sHaZmI2dCtyL6wLEe0f4Bl4jiV3XM vDJzjA1I+cQfB4xlRXA0Nkp+57FSj4i+WVL1ZkNjwS7CX+r3sFJheXtRbtA2PCk23v7SJRrXniP VJ97eMgghrorIExuSmA== X-Proofpoint-ORIG-GUID: qjkl-GzeX2NXNJL1my9v7L6O0gMXe8ji X-Authority-Analysis: v=2.4 cv=ULXQ3Sfy c=1 sm=1 tr=0 ts=69cfc606 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=WW6vG2jIvFMNhbJRSCoA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 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-04-03_04,2026-04-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 bulkscore=0 clxscore=1015 spamscore=0 phishscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604030123 It's possible that at the time of resolving a reference to a remote software node, the node we know exists is not yet registered as a full firmware node. We currently return -ENOENT in this case but the same error code is also returned in some other cases, like the reference property with given name not existing in the property list of the local software node. It makes sense to let users know that we're dealing with an unregistered software node so that they can defer probe - the situation is somewhat similar to there existing a firmware node to which no device is bound yet - which is valid grounds for probe deferral. To that end: use -ENOTCONN to indicate the software node is "not connected". Signed-off-by: Bartosz Golaszewski Acked-by: Andy Shevchenko --- drivers/base/swnode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c index 51320837f3a9f1bf4f65aa161d9b941affc74936..61e73417aee89feb855b0f429e1= 12ca0af78a003 100644 --- a/drivers/base/swnode.c +++ b/drivers/base/swnode.c @@ -554,7 +554,7 @@ software_node_get_reference_args(const struct fwnode_ha= ndle *fwnode, return -EINVAL; =20 if (!refnode) - return -ENOENT; + return -ENOTCONN; =20 if (nargs_prop) { error =3D fwnode_property_read_u32(refnode, nargs_prop, &nargs_prop_val); --=20 2.47.3 From nobody Sun Jun 14 15:53:28 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 749E3336894 for ; Fri, 3 Apr 2026 13:52:10 +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=1775224333; cv=none; b=ZY54OU1SVQbBVAhv7NrWzktlrO6kmoSOmMOZ2c0COA8GuaDnHn0YyRAKWtMamYm0GY8vW4+CH9IjykmXq+JkmekBL/XTg0EZL2boXNe/Q0tomVJyWtVDdJWVg/+PtNQcFJ1pOCUgWn0lf4inLbId0pGkFrHen+RmPHGelYtWBIE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775224333; c=relaxed/simple; bh=tSBsw89+EgLqL9rsGM6nffcOTxXCKvBjsnCc9VJADCU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GCmPJZANQzcZ0A5C3dC2czcHQkmu4qaHdsXinCEVUevP0jnmHeCzqmsrGxoOWODWPnwWt5zV9GNbDCSXzDL3rRbU+3ERQVjqtC/ZDibyYk3/kSGaXPqkJSYCzt6Ap0QyQP67vKLlM8GbVde9NCxx4WwoEQNhKT7RtO6f732u7Gg= 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=kA4hAnnZ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UhQEiPBN; 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="kA4hAnnZ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UhQEiPBN" 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 63373qop3449814 for ; Fri, 3 Apr 2026 13:52:09 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= QVHUekEa3pqz/senHC7o9aOSki/Kup0i+jAEW3TxX5g=; b=kA4hAnnZmv5H94x/ OTYim2w+MWizJGnpmVBblBDjCY9Ah8uQeLEo+7iB9qhrzm/zZgfLY2s/YZ4G5Z5r iRqP5tgj3s87OM+I61p/MBUqcs97aQ88XPHIq6ONTUnG1m040D9U1m2zJNGT8wEH z1Pig7dAfbRcELP+uJJj7sOaG5RWTRTvkzovCieE4PMejVV14FKg8TEO0bqRrrfA lDjRUKAq4JfMWiv4mTZw0yKL1Mw8YRaRw12rCsJF/0T0pLiJVDIzKcKjnEE1ReC4 dIx2qA+Y6ryIqjQBONPEENriM+qUZZNvy9a07DUD2cteSjNFma8IEAB5IbGI/WmC mnzQIQ== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4da8u59477-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 03 Apr 2026 13:52:08 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50d63962d83so23600701cf.2 for ; Fri, 03 Apr 2026 06:52:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775224328; x=1775829128; 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=QVHUekEa3pqz/senHC7o9aOSki/Kup0i+jAEW3TxX5g=; b=UhQEiPBNuGaxFudCbA5g7x1FOPoc4GVCKVev0AEFo2AN8uUzmUp2SZjbRIZW8elxSN VdVuwnztja6QlBOLl7SXwDsacA4T/2Z9axl+h7y2TPLUcN8Z1RgAJdC7GGQB/uFv+ImM nEGkTYMS0FKOfDlAe/JChpZJjuhLcmuR41qWjSnkx2dbUOKtNPr8rKhO0JDLu3n2gL8/ 0TO7MybACl41JhDLaCt3/HpdiIygvHtzfqYW4dATyFrQe+2q2RFcJELbCha3ZyqvLGWy eWS4XjHBMFUUgh2IGz7DwsR+YVc7CD1f15/W5A7RQXSlNSzcsIPcY7gJC//iH4w41F+u 0qlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775224328; x=1775829128; 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=QVHUekEa3pqz/senHC7o9aOSki/Kup0i+jAEW3TxX5g=; b=qX+dRH6wu3IojtYWvARbjm+WSwfMsMCWfRPDjXpDp77Qdq5ILwVBElhpWQD1v4TMRT MN/oj4Xh4Jww4+vsGhNTuSdmTj9rpjn69zN98yU/aX0beLeBMM34grtLCG6o01gNe3e0 B1Brb4dkmkA0yRg8WTFyIKdaaRwY/WuaiK5OmH9QpfqqZs32EkBna6XPxxLKyqAahHe8 alqTKjjKlGB9mBSbTExHASU2pqP7yG8kLgavzlua639bShbPq3AkptGOzkw6WAV4vpyJ 9QC0tpLcwYnQoAz/KSt9+QYbWaUSX/Q/HE8/BcjHGD2VfR211SMNpHS2eS8Y/eWerQw+ V8JA== X-Forwarded-Encrypted: i=1; AJvYcCVOF0bwal4BwBE9GS/czo4YXmfn3e/37XFgulzw74nueESJA2Z0+nc2s0yW4TgCI908x1OoTjdDCmJ1PU0=@vger.kernel.org X-Gm-Message-State: AOJu0YzQwLvS1umNFXTSmJhqUBhH+WC5QPHBUWlDlAviW0VfPwps1y0i 5WvsQ6cxdGMMnz7NHyUhZUyNFOGdID7r4LxDJIVTUDBMQsB2wmFE3cSJO1lME+sDhwAy9DSromU 7loeHB6M8N6FLQL7Ks/x8nERTm/6mLWY/85NKiiLmj6eUScof5X/oX0p28Kqg9lL3aTc= X-Gm-Gg: ATEYQzzOsJdHeRLB3I/2ttrBFcvDd7BxI2AxYQu/7Vrkq4pYd5KckD0F/p47qhQBwFl RHGK5LEApcEbRxnzQ+INHxkkNS9t8T2vsWmC4icW6k17ah+RRgX7CE+LVcGtjyit0x5Pi5m6rEh uE4KvWqNEtD2om5uhyf5ae5ctAoRkNmINZCcKjiKctERyNb4ZFrdMfVNg/m7+6lhT7WbQZOp7T1 yn/EVc8TZm+v+/xHO6a/j9RYahO3+SOGulBboXudLkCnwlQ5zMZ5NZdUuRYxkSDVUbG1i3uRy9R jPJXVVAS5yUDKsQiKP8w8mZi0y/y7qZDRhgnU3RRhAMs/uZWvgJPcD2cq3g00xCruDvVqAXI0C/ tVHeKjb/vfs7hiLf0V65IgyLhl1qeiXJq8vylzabWs0adYDte+/62 X-Received: by 2002:a05:622a:1f88:b0:50b:6a79:45c5 with SMTP id d75a77b69052e-50d62b4fa9fmr43413091cf.22.1775224328255; Fri, 03 Apr 2026 06:52:08 -0700 (PDT) X-Received: by 2002:a05:622a:1f88:b0:50b:6a79:45c5 with SMTP id d75a77b69052e-50d62b4fa9fmr43412841cf.22.1775224327844; Fri, 03 Apr 2026 06:52:07 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:129d:59e8:f7c9:47ca]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4d29bbsm16948132f8f.21.2026.04.03.06.52.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2026 06:52:06 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 03 Apr 2026 15:51:51 +0200 Subject: [PATCH v3 2/2] gpio: swnode: defer probe on references to unregistered software nodes 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: <20260403-swnode-unreg-retcode-v3-2-7886092b28b4@oss.qualcomm.com> References: <20260403-swnode-unreg-retcode-v3-0-7886092b28b4@oss.qualcomm.com> In-Reply-To: <20260403-swnode-unreg-retcode-v3-0-7886092b28b4@oss.qualcomm.com> To: Andy Shevchenko , Daniel Scally , Heikki Krogerus , Sakari Ailus , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Mika Westerberg , Andy Shevchenko , Linus Walleij , Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Dmitry Torokhov , Len Brown Cc: linux-acpi@vger.kernel.org, driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, linux-gpio@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=1628; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=tSBsw89+EgLqL9rsGM6nffcOTxXCKvBjsnCc9VJADCU=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpz8YAvNkQYAMYU2+XmQ39EqvAL7D+Os1c/agWm lWlplJNjyeJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac/GAAAKCRAFnS7L/zaE w79xEACi/EvAOBokb2UlYyvQLhzNY58ORTrHqYEOL5dnJ0LMUFJxnRi1gRZPM8kds3AFjqK6s0b z9z+08cH2hhRHbHZxxAECRMT+T7StWLJLK7aSMAjsaSvZTbteomdkmQ6QSBYcgNrjx+T4DCGXEy XdZZe4WGT2wIJr9c0tvF5G0dKKwJadko2QHV1UBEKkpkmliH1NBD90hCgNoqxriU5v2zVUnM7fh pvlMidJ9IQwTBN9tQzHZ2cNdtL6IRIAGXOIdWll9yt0Qjx3q50Jfe5DTdm3MpR+RVFg14neZsBO p/dlY3E7/8FzUm9HUWJeNA0QMrauzjLbDegIFuBKDnKEw1t1goj4IeMTF1/wMQFi+f6XELvJ/QX SDOGbXxkZafCChsb9luUjhzdwH037EOqsuFKUnN+NfAk+TScsBOsle4H3RUZXGtWedCcXaVE+eC n7a8qMWaWBr3nVx3hEZjMDk2dxmqawVHBsJos1xWbHlyGOIjvH5Bc4h4ul1+x43mgWwkkU3BNvZ pL9hFxvLwySDRvZbl6H49UmlkLc9UxTDa6Ph6DAm8BmsBMISprLDcDSH8VvFPLbssyyVwRLND7R TRyJvIB8CzTBAtuB2XZV3VSUQ6+uGpLqQd/abQmrHqqeWWjk/M+Dd99SYX6lZDBgtA2z4SWuTSB sXc+J9OMfBcep9Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAzMDEyMyBTYWx0ZWRfX7GlZ5ftbfbdH rj0JfsQb46W285MjYk1nXff3aqHp6kn3U5kcoU5tHrRlus5dgWBdYDu8Gj3fM9BEljNOfz0sQFi /OX4DQIgAn+d3zemmCaYhtE5wFykBnRBwBvGOOgwHM3vJZA48PXXECf1KZZhac09xEh5Kr8U3R2 DxJFd5rkkbALyqZMNgIMniRIzf/5V+Nwhm++lUQTazgdQruK6iUF3wdjIW6E5CrJs2QY+/74HqT A2MizaR8b2bs6c/SLJtQOE9sEzAOfyNKGASWQKkg2z4BLsdV0VoxAYUmr49enJ1bjImVEIPcgWa SYrX1Poy6rj1h9/N2V+35s+IjZLGTlWcKvfVt1z6Z34Ca+q0Gq695ytWf2rFk+wvH188hCLnZOr Pphq9oKUXkGWU+Luf+t6xWZQwEchli42f3Fi6HfbisjMJIifiLotNNIpSG1phZJZ0RSQravkRx9 quFqNr5McJd3VwhXGew== X-Authority-Analysis: v=2.4 cv=W5g1lBWk c=1 sm=1 tr=0 ts=69cfc608 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=H5P8rdbTNIBZEmRUth0A:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: UfjuVo3EGVCYZeL13Et-JcAgLfRXIcBF X-Proofpoint-GUID: UfjuVo3EGVCYZeL13Et-JcAgLfRXIcBF 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-04-03_04,2026-04-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 clxscore=1015 phishscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604030123 fwnode_property_get_reference_args() now returns -ENOTCONN when called on a software node referencing another software node which has not yet been registered as a firmware node. It makes sense to defer probe in this situation as the node will most likely be registered later on and we'll be able to resolve the reference eventually. Change the behavior of swnode_find_gpio() to return -EPROBE_DEFER if the software node reference resolution returns -ENOTCONN. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpiolib-swnode.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpiolib-swnode.c b/drivers/gpio/gpiolib-swnode.c index 0d7f3f09a0b4bee0cf1bbdaa8b7b8ae4cd5de581..77f4a3b00641bc9535ec32f8654= ea7f547c34153 100644 --- a/drivers/gpio/gpiolib-swnode.c +++ b/drivers/gpio/gpiolib-swnode.c @@ -91,10 +91,19 @@ struct gpio_desc *swnode_find_gpio(struct fwnode_handle= *fwnode, =20 for_each_gpio_property_name(propname, con_id) { ret =3D swnode_gpio_get_reference(fwnode, propname, idx, &args); - if (ret =3D=3D 0) + if (ret =3D=3D 0 || ret =3D=3D -ENOTCONN) break; } if (ret) { + if (ret =3D=3D -ENOTCONN) + /* + * -ENOTCONN for a software node reference lookup means + * that a remote struct software_node exists but has + * not yet been registered as a firmware node. Defer + * until this happens. + */ + return ERR_PTR(-EPROBE_DEFER); + pr_debug("%s: can't parse '%s' property of node '%pfwP[%d]'\n", __func__, propname, fwnode, idx); return ERR_PTR(ret); --=20 2.47.3