From nobody Thu Apr 2 18:46:09 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 8C8A03B389A for ; Fri, 27 Mar 2026 10:31:36 +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=1774607497; cv=none; b=eNoRZnKUSdpqYSkzscQxEAYV+dLGeP3ESxBHMbNfypjxoZw5LdTiwojeXskdEma+Jw7rm7gUm7LO6eYE0SlMK1v/nfewYV/lgNccRW1O2iVDvLMIsRa9IEtdM3e39YFskOgWp0zwdPyH/PI4DQFhibVBp+kzZWo8RvlknXCpGjY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774607497; c=relaxed/simple; bh=q/vXhHDoFJqrdpA76UB07ULdvhJqcsq8Sba4mXCbT/w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g/JtF6akYlXijFUc8WH/lm91qtdACndFVG4DCbIKIW9pEH/K1tFK5CjCq41DCYww4UDbkT6r7/7udzLF/G6oJkGaBbY9OSPs6vAXiTeV6PQXFc7BXO8ZLW/VxyyPMO2qC20BT7aW/eqKewwaGV0r4dTAzjhmKnlGoKyP1N0ozK4= 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=pYDhOn8G; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=COn68SCa; 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="pYDhOn8G"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="COn68SCa" 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 62R6wFtD1710771 for ; Fri, 27 Mar 2026 10:31:36 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= 3/k4engZPj/RiobDJAVbe81ltf6mEEKXLxF5f98ke8s=; b=pYDhOn8GWhyV8LJM Vc/eiIkKRgmp7Yzw0sgSZAwY3X5izJ0alPrl8oLLpd6hv0qZQ936ayM0R8gF3B0Y PyvJOf1uT7DtQmxl02puaAlIAUF1l1HV59J18O+DJW2vxj8Y/lRVUOa+xrH7+MZh FFL4+q6p+89bzUDVz9MZQMb4q4dG6CyVrAvROzP8Yf5k8Hb54Yn6fOMJ9enjv7OF Gnob3OuRIPaserW+nPHOkb0kbxBAEyOkp8RyVKRX70p3nXAfEmEs1SJkD7AP1rE0 qxTko1xH5GYT0zXIzmatJr50Dd2pdYyvwJ1Sd4ZFrEIxnxsLIaJze2AsJIZXgbs9 nEIupw== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d5bxvjkm1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 27 Mar 2026 10:31:35 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cfbeca17b2so793058985a.0 for ; Fri, 27 Mar 2026 03:31:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774607495; x=1775212295; 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=3/k4engZPj/RiobDJAVbe81ltf6mEEKXLxF5f98ke8s=; b=COn68SCaGxHwUJ6ao52vv85WkKNAmSMivdIOZWlTrVNVBjIMaBknvbIxV8A2my9apl ypVXwqNhETuQ9BCpe5zAs8piS9Clpi/0pjLFyMvdgVxlokmblFhM+nvGMmEXt0E6a73/ 9LuKGWPRYvSO67IbpScehv+JdBM/1ul4EGBdV0XAnPbMpeKZUBfiSRRs04id0x0sCAmG 3KkiKOqhtKigsdont41A8V5Yk8gAhugIe3X+/jUYFMJiH7eWwwi3uEDwbCDOVmrp9Ktl XVgQxzPV1jlOieJ/4mYTBGXLXbyCvJw3Hgf5CvleFP44pGuMVWwDLcM2O/upPbwX3Ixi Cm+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774607495; x=1775212295; 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=3/k4engZPj/RiobDJAVbe81ltf6mEEKXLxF5f98ke8s=; b=FVnmuLV4+etp3Yk3lAFiaaOmBsM2U0aDn7ToclmPeB43Y4qs/Xn+dLTGmVj8Fp1kWo 8DWZ528hNyFUzgB7cz3/llovWJH175Wr9QZBrh/fvvHpu0FyV7JaQF7qOwYUY8kzcJHs TaiDBizKa3yiGUZ6bvgpz35+A3p430GeWgT7NKD4mUcTZg6z8DDD/cENintLaVsochvm N80Fad59pwf928yacmNe9F3YLzpmfXD3pdjXPC+ZWxVK86c2Sf7gnF2x4D8m9qF1ioxO T0IpKQoZWpR+pvsexgNIR8XJvh+nw2/DkO7dKTdzNrWPrJtZWtq5rLx85BKRtckfy50b u9Yw== X-Forwarded-Encrypted: i=1; AJvYcCVjV+dniIRV6I2VxQRzTEeaoyif6EpgCHPxE6eNY9+PncVpG64JNwZ/Jvg+jVp+h7ekWFm8lhYWkQkpQGg=@vger.kernel.org X-Gm-Message-State: AOJu0YxVsibp0zED/zIoJ7NZcy5oLUmlgeAAtF/QcVgk7Tq0F8j8qmVD uxKy0inGUegb+vXE6/+eX3AOeFaXqxCMQaGdjQl0l2yXk/Aaw0EOFj2ieZL9w7PdpDzWWd4Uy/4 c32zA7sQA7NZ1uzCOUDBiwz0Bir9OucICWKOyda7W+pfHkYXFeCSyCchWCPDfwmQ0HGg= X-Gm-Gg: ATEYQzzkf3tZVHDOY42RB+4fgwap0EiP0AChfm4Rr80KBrntHO62ZJY3cJeyWlHC7lS 74TQPhXPXW3UjtmSMCv/8OBiUi7e24ZLAPOcosm0qXBFXLXyd+UBESSdbZBeRLmfz51dk1HHHx/ 18r7k1rhdPS+N35N7kIf1vXop0FLm/WEwYFFmZxk3hdOdlKeabm3BdX1JsfAbogLPgZCeW3Ibfr Qa16a1FannD8Po/M8mpSpcfMAhMdXPcNws9V8kM/oRRmH6bo6zSN7S0+aMHMVGMqmeTP8yaNKIQ hUfwstTw+TkvuZNsXMZ6tQlTAsGQNl9xvSLK7cgeQa2kEXAdc0RN0NEFJlImECEE+wIyu/SFjDO b9i+0ZrTK5zG27tzRNsah5X0OPNc3rw8x9oG9Vadq+V4Z1PX4Zgk= X-Received: by 2002:a05:622a:14b:b0:509:144a:43bd with SMTP id d75a77b69052e-50b9938983bmr59466191cf.3.1774607494616; Fri, 27 Mar 2026 03:31:34 -0700 (PDT) X-Received: by 2002:a05:622a:14b:b0:509:144a:43bd with SMTP id d75a77b69052e-50b9938983bmr59465761cf.3.1774607494087; Fri, 27 Mar 2026 03:31:34 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:94ec:a3a:baff:9151]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b919588e6sm13382138f8f.16.2026.03.27.03.31.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Mar 2026 03:31:33 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 27 Mar 2026 11:31:13 +0100 Subject: [PATCH 3/4] gpio: virtuser: stop using dev-sync-probe 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: <20260327-gpio-kill-dev-sync-probe-v1-3-efac254f1a1d@oss.qualcomm.com> References: <20260327-gpio-kill-dev-sync-probe-v1-0-efac254f1a1d@oss.qualcomm.com> In-Reply-To: <20260327-gpio-kill-dev-sync-probe-v1-0-efac254f1a1d@oss.qualcomm.com> To: Linus Walleij , Bartosz Golaszewski , Geert Uytterhoeven , Koichiro Den Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3646; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=q/vXhHDoFJqrdpA76UB07ULdvhJqcsq8Sba4mXCbT/w=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpxlx8ngUkGTup2/Q6rOFiB8rh7VNTI/rHOyn5Z ygK8SZ8qi6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacZcfAAKCRAFnS7L/zaE wzT4D/4vtUnZRLGALIT9cgohlC+n+TmdnZZ95emyzO3t+Vdm54HMUu4Mj553eFmFauAJ1PnrETX YPFPEnQNuQo3F9I54S48dP++uXRPmd35Ug2S1P9bZOz4B3QheCo21EnlSVIjPZjQjRtcctDOlqh fhe9y8qLaK4E9Ez2iekLGEhURDzTErhfShzAD49NRPcpPbOtYMrzGBaaLmV+KrnAFYSPIRAWmqx 8KkNfYI1lMAeEjVc5tmfJJF5N3ouz0NVeNnYL1SxTVPO1GcJS4Gy51Hi73T/KTIjLc6D0ClNUrV soc31xfGiULvnISjRhSH2jduwutJBfmVdGP/LsOZ2FEDKpMl1kC17/k1oZseummCxGz9indWEw3 th2hy8dBOPyko01U63hX1HFntoViGNORAFIEHo86BzT5l4fW0ig0c8Zkvd4Yh6zDdgJ1JdKiZxr uOeoq7gqMXDi4uW1MO6qq/W0L/wLmaTIsnUyNohE57i2Z6/D3HhZQKVy8Ww98BgOkVrbMV9M7GM hswxWGwnIq3EVVsTVnOfbjTejySYuVCgOlG5QBgsB6fUR0c4DOXTPLaFGUzCKvAcu5kwSU+c0Po QcUkDblbdKuHOqT94NNegxod7LCqgR/a/5Mb63p7EaV7BHyPvITW/0JzWBbkO8Y6ufLHCf7MbkG hUqfYaSf9ahbtDA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: UoPSUiRL5iztYiDVuIY_1pZZGySJoy65 X-Proofpoint-ORIG-GUID: UoPSUiRL5iztYiDVuIY_1pZZGySJoy65 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzI3MDA3NiBTYWx0ZWRfX5uRTZfrKRgZ2 z0YYqvLC6UF3LOyafUyyEe4QvfzgFzxLXVnyPOg64ZU6HmusD6b4oExMR70Huk4NJLQ40koKTwf ZTPcKlbL8e+W4C1tvJH+1xRvmRcgdUQYKWfu1QJpDPMgxUaXrJ3MjDuAXyHrOTdYcuQUeqKtKRH 0WPBFtNRPNmfykoflNIHeTy6XAfGvlyCvFTogholmXWZXyTdz/TTRDxbngEBbDvHzfr+Q+zzAWU gUWXUzmrIfM8GpvQ5Ca0fLdrLP5ZF5HyuBwpXxuNBANuRqBrs3O/XCSCIqxJSgvwkDM7yorhhKV F3Rf9jnsA9rGEqWn/GoNmp75PU+SfVJTLe6X263QweB9GqIo1b570ruHnEYNHCLB6Hgw9nBARwc A/0pCYrSki1GY8+uzQaBhSyJfJC/u3ds3LF7gCnOQ7wDN7UkYkn/fwnk739EdT9b04DA2wA7+NP VtqvzAU4QuHAY/WjWsg== X-Authority-Analysis: v=2.4 cv=ToXrRTXh c=1 sm=1 tr=0 ts=69c65c87 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=eBvw1o6kvFRJjbXN8kYA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO: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-03-26_04,2026-03-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603270076 dev-err-probe is an overengineered solution to a simple problem. Use a combination of wait_for_probe() and device_is_bound() to synchronously wait for the platform device to probe. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/Kconfig | 1 - drivers/gpio/gpio-virtuser.c | 30 ++++++++++++++++++++---------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 09db777938f3723e5dbd895dd1b30d39a21a2da1..56a7ddaa95eac07ee4f7b755335= 595805a316319 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -2072,7 +2072,6 @@ config GPIO_VIRTUSER select DEBUG_FS select CONFIGFS_FS select IRQ_WORK - select DEV_SYNC_PROBE help Say Y here to enable the configurable, configfs-based virtual GPIO consumer testing driver. diff --git a/drivers/gpio/gpio-virtuser.c b/drivers/gpio/gpio-virtuser.c index 955b5efc283ef565f8c1cfcaccd6d653f2f78f19..fe0eac920ced323926b2bc83ca0= a2eb5f85c2154 100644 --- a/drivers/gpio/gpio-virtuser.c +++ b/drivers/gpio/gpio-virtuser.c @@ -36,8 +36,6 @@ #include #include =20 -#include "dev-sync-probe.h" - #define GPIO_VIRTUSER_NAME_BUF_LEN 32 =20 static DEFINE_IDA(gpio_virtuser_ida); @@ -978,7 +976,7 @@ static struct platform_driver gpio_virtuser_driver =3D { }; =20 struct gpio_virtuser_device { - struct dev_sync_probe_data probe_data; + struct platform_device *pdev; struct config_group group; =20 int id; @@ -1002,7 +1000,7 @@ gpio_virtuser_device_is_live(struct gpio_virtuser_dev= ice *dev) { lockdep_assert_held(&dev->lock); =20 - return !!dev->probe_data.pdev; + return !!dev->pdev; } =20 struct gpio_virtuser_lookup { @@ -1342,7 +1340,7 @@ gpio_virtuser_device_config_dev_name_show(struct conf= ig_item *item, =20 guard(mutex)(&dev->lock); =20 - pdev =3D dev->probe_data.pdev; + pdev =3D dev->pdev; if (pdev) return sprintf(page, "%s\n", dev_name(&pdev->dev)); =20 @@ -1450,6 +1448,7 @@ static int gpio_virtuser_device_activate(struct gpio_virtuser_device *dev) { struct platform_device_info pdevinfo; + struct platform_device *pdev; struct fwnode_handle *swnode; int ret; =20 @@ -1471,12 +1470,23 @@ gpio_virtuser_device_activate(struct gpio_virtuser_= device *dev) if (ret) goto err_remove_swnode; =20 - ret =3D dev_sync_probe_register(&dev->probe_data, &pdevinfo); - if (ret) + pdev =3D platform_device_register_full(&pdevinfo); + if (IS_ERR(pdev)) { + ret =3D PTR_ERR(pdev); goto err_remove_lookup_table; + } + + wait_for_device_probe(); + if (!device_is_bound(&pdev->dev)) { + ret =3D -ENXIO; + goto err_unregister_pdev; + } =20 + dev->pdev =3D pdev; return 0; =20 +err_unregister_pdev: + platform_device_unregister(pdev); err_remove_lookup_table: gpio_virtuser_remove_lookup_table(dev); err_remove_swnode: @@ -1492,8 +1502,9 @@ gpio_virtuser_device_deactivate(struct gpio_virtuser_= device *dev) =20 lockdep_assert_held(&dev->lock); =20 - swnode =3D dev_fwnode(&dev->probe_data.pdev->dev); - dev_sync_probe_unregister(&dev->probe_data); + swnode =3D dev_fwnode(&dev->pdev->dev); + platform_device_unregister(dev->pdev); + dev->pdev =3D NULL; gpio_virtuser_remove_lookup_table(dev); fwnode_remove_software_node(swnode); } @@ -1723,7 +1734,6 @@ gpio_virtuser_config_make_device_group(struct config_= group *group, &gpio_virtuser_device_config_group_type); mutex_init(&dev->lock); INIT_LIST_HEAD(&dev->lookup_list); - dev_sync_probe_init(&dev->probe_data); =20 return &no_free_ptr(dev)->group; } --=20 2.47.3