From mboxrd@z Thu Jan 1 00:00:00 1970 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 9B8B93EC2DF for ; Thu, 23 Apr 2026 12:12:20 +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=1776946342; cv=none; b=iAdkVgaX7RwOiHJSzFntifuZJMUNPr9sbOKGI3xIwkmD9Qar4szX3SzmGIOJXOvIeFjNepCQRP/oLYLd97Boy56dvxCvvA/dZV87oL8f9WYes+GLYs2+Nxef/OByeSk5hN3QdhsrNTpzGFngjPhzrBC99T8ujrr0xInAQc9s25c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776946342; c=relaxed/simple; bh=TvAvtEEduAO3Cmm+l/HLnOozcpsitj84g7KvLFCDf3A=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=bH2Os1xwklPa/8YriJ0Mt8iqRtveb0MuaH31cDwGJdhkv2sKPCcUj5m8vyOyc+GxfkqQOizh/Rfp8RIMjBLJaG2ge/aNMHkSCB0DHHDAuVenCsecuUgYvvPUAq36XtSfNIlq5SSXm/QW3XRMtwD5VB1h+NovTav8xF4Nciy2WFQ= 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=K53b8g/Y; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RpV+a3Qk; 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="K53b8g/Y"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RpV+a3Qk" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63N8toiL179235 for ; Thu, 23 Apr 2026 12:12:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=9utNRt0442ZMWfVuXusZbM I78VTB0ODYf5NvWVk/l9w=; b=K53b8g/YRmqa8J5pJkcyQckwhfAqL3INYF6n2Q z9sUNOzx0sYufRQQxPZ21SYN5DnU7T1aZZfqbruWbHesJc8sYfcfgxhTVKu+bbJI fyDeeKdUTGXYU3O8BN+/wQDtwVB5NftP9v/AXttXlVQyo1JoWr3p1z+IB4lcr1+2 m5UpGZ6+G5z53fDdP/cT8Vl9NJecMCI1Gn1pqjRlMVlcx+fFxiH8DTD6/70IQkHF sz3foln25ZOwgLi1KZmDrpFiglMiTVuQYCN53Szx2cl7VoEMrPHWqzA8I45fU+FE 1ze5J999lvGNhfT/3EjyedhPOXup4cUlp5mzr8aBwdYI+BJw== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dqe62hck9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Apr 2026 12:12:19 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-610478c6ba8so3950696137.2 for ; Thu, 23 Apr 2026 05:12:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776946339; x=1777551139; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=9utNRt0442ZMWfVuXusZbMI78VTB0ODYf5NvWVk/l9w=; b=RpV+a3Qkd3XFutxTg2emRSaWpnl1vOkshGs9pU3Git92escgBbBbMLep9T4WlpyIN6 7N9GjnW/rThLLu/jh6yGbQ2cum8dKF6vDrAP/mPnUlvFBg84hCnyxppo0x7woiMMs87l +oYAOgrisL/ZiY50pDlDSJV8QTNxXTs0/cU5jP1BF8rySmNNByd4C/RyymugA6tKni/b xYuaHJTpa/8/nmCCx2vJmeeUtSK37uoLbuvCN+LE5ktp9R1bBAIJOZM5GUVVty9HtLqK TIopKV2l2pKSTVm/ZOkJbrTiALNwfiJDL0bsnm0Zgz5Lg0N/y0mdWBoppvaLJRSPa1mg KINA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776946339; x=1777551139; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9utNRt0442ZMWfVuXusZbMI78VTB0ODYf5NvWVk/l9w=; b=O5oJXzTWuZFjjHUrdN/09ZGnqYvIIsydTwUwanyj/8HA2Jv9pR4Y7f73a8fY5AWKbL DIzymWqo4bBQrY+Bld4cKhsMjvKbE1bprwsRPnXZJVk5GSNpEjsWujw0riZegWmBNQ7w ydLPbaNuT986wChHS3qGgtpUM1Cay9wESSSC3mdSl9DLWQNrKmAtBmoCfFGCuLbPybTj esnJ/gTlMmRTQz05tIQpfBBPk9X8WE1hznTbVuyMHwf48PQPUSQUiCAsMmejcHRX/hzr 8XRHU9pJcvtlvOpQMEhM81Ws3ZnejxHwMjpS2Rxq2dEitwc4VULjEfXqiO1wxfyFcgFA uizg== X-Forwarded-Encrypted: i=1; AFNElJ9lTcMgisyjyihthOTQVQ0J5JDrZAM6VVSZC+eHjY570eywIhXXtWZiPyCG5B+oiubdmDileISAzW091kg=@vger.kernel.org X-Gm-Message-State: AOJu0YxDkCDBbFTOclODZMI0PrSmjGZixIA0mKRnEQp1hZMwF0NxTa32 mMMO2yOKKMrmF/VNcb511akJLX70NGXYIepLE65fx56ihtagVbvnIh/g0Ou/OU+v2pzu0ZpHdIJ 86NJS4XvtdxFjTFCUiIg6HETGn6yczn72GcxNIM4N2tUbv+rhfRk0aUJBiRvYjcvAf1Y= X-Gm-Gg: AeBDieukHJb1Oj7vLyipp1Pj6ENHIOhGnabjL0WpMLCbQA+lzS27Uf1n+Ue9xxmazXE IZOXh6pVxkHHGeXFDuubNyEWwgo5RaB5QqzT4HYRVJ7WD5P+f57fnE7c5bKD46S0T8ZimlGbAVr /U5iVgHdMgK336EGO0gfxKlvg5yL1vpk+3hwu4St7eVqikbbWoK4D1Krh5iWC0cZR7ThrQmO1k4 FVCQkbS1wLYCyWzLvPW79eP4p0Yq/5RRRar8/fR5NlQXpVzRF//W4MkRo4mkzYsxvxwF617taUH SG+CByRoFZiUMJlC0lHeb2anPW+7Pgy0H2X3Xash4xmvoULf48/piAEnz5qQC4RxCibsgtW7I5Y GySPZPn5mv0Fx5si65IPhindtA+z0bGaEC8IENiAt5TmlqDm1I7V3YvAuAVw1wA== X-Received: by 2002:a05:6102:290d:b0:5fe:f4b9:fe2a with SMTP id ada2fe7eead31-616f772f7d5mr11773572137.16.1776946338808; Thu, 23 Apr 2026 05:12:18 -0700 (PDT) X-Received: by 2002:a05:6102:290d:b0:5fe:f4b9:fe2a with SMTP id ada2fe7eead31-616f772f7d5mr11773552137.16.1776946338340; Thu, 23 Apr 2026 05:12:18 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:843a:1e93:1fb7:5d86]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a4b329542sm426273565e9.3.2026.04.23.05.12.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 05:12:16 -0700 (PDT) From: Bartosz Golaszewski Subject: [PATCH v2 0/3] driver core: remove software node from platform devices on device release Date: Thu, 23 Apr 2026 14:12:01 +0200 Message-Id: <20260423-swnode-remove-on-dev-unreg-v2-0-0e5213cde2ed@oss.qualcomm.com> 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: 7bit X-B4-Tracking: v=1; b=H4sIAJEM6mkC/42NTQ6CMBBGr0Jm7ZBS8CeuvIdhQdsBmkhHO1I1h LtbOYGbL3nf4r0FhKIngXOxQKTkxXPIoHcF2LELA6F3mUErfVBNpVBegR1hpIkTIQd0lHAOkQZ stOltY3RtuhNkwT1S79+b/NpmHr08OX62Vqp+71/aVKFC646uVvu+dkZfWKR8zN3N8jSVeaBd1 /ULUR06OssAAAA= X-Change-ID: 20260410-swnode-remove-on-dev-unreg-42bfc4b23ba8 To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Dmitry Torokhov , Brendan Higgins , David Gow , Rae Moar , Andy Shevchenko Cc: brgl@kernel.org, driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1812; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=TvAvtEEduAO3Cmm+l/HLnOozcpsitj84g7KvLFCDf3A=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp6gyX4f0AqJZtoDVOO9albOmAXIePGyBT0QbZM WtlfvEgx0+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaeoMlwAKCRAFnS7L/zaE ww8jD/966ohKNrL+e0etDxUq9YWNClFh9S1gqy+dz+Jc0U34nqrblGLTYLTVVB8JEzuo9J4Ofgy Wz8r+enkzLp8Cv4xO22p6xpVu4Tw8f90OCFOtza8JjION69s4OKWM+l7CEiC4HiNeBVLxJa4BTR NxtA11a9LHgQtHXyXk3TvU457BvMMfcTm8pPDH8ghnOaJmRy4QEj0FLqd8RpRgrqO/VUJkZs4Z9 7I6fVyBJERCSoBWFZEHOsfWNtOk6j+4hkwwZY9FptLTTt4NyeOSxkPJqi6MRyIZxOnh4aL9/ytN XaiwhQ3eNIdeq8Jx6JKrwhDKqVyqeknd2/nwkH5lAB2SHXyAB7RxEI75elXgS/zlKSGRQzj33+X 4IrYFJ0oMc0ETYHfzq9kfRjXGXOogdqJEi/cWYBXk5Zay/fgpLGGHD1h8B98tfO47UKufHYSQ6p vdf97l1K1d7BASJf05fktkTQJy3hXMU4KYIfM9AviwQYrzor4JbF+hPL/U0soKrhWD11Gdk9jaV XUJ1yquW2YKFblHxGrWo4cCZ2myfSDqUlZCdegtrqjIUnH9rFblXiDtsbk4r5cbdTdUGvldc70q xtl5bsfrDKQpKsqyVpip7sBo3BhDtYIgrHEOyM2iaNKMSX6erjH9KEzUj62ww56/vOxs8xwrOy3 YlinHL8MWm+9hgw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: wKJ_EyW0x4vUihBzWi2D5Zd1CiAq_mkb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDIzMDEyMSBTYWx0ZWRfXzrqpC0M9/NeS drJ2ctgFEA5DqVLbGYpLedPavy97Scy6XF9iwg0PPjfQBC/gr7En5kDfAFiNLYhDXOOm2z0VVUG CP0sr6tbiIItwOmhtpGyzKMJk80s10s7v2yqrcpY4Jmq53flIs+U4bhB7ZG1gaF3v61NuSWZKWa MftBIY9PGgYZhQmUH7NXmTzjyv3oWdvm2MqCoLcCrc8U/TT/AgaydsCBz/GSxjNMR0PDmC747pB eCUBTjePvmFo+nkNwk1Va1K1Py14wmedgGHReZ6ZEHHFaQjLx+sXDnY1zkwBOqzJzwMPit/BT1v 09muN9YHQliNFDo4iqKXagD1OWZXngC62gdGtqL22P69zl5FR/1kdV1VE865ZR0TdAYQDgmRRbu EdVIshI8KkCJVVQaZrPxNnRidR6dyMUE5Bjj7tOWzwD519LfDpjNu2SB6Jq5cT+9JLyghj7JwdR Bdxlbn0jNl17xsmDoww== X-Proofpoint-ORIG-GUID: wKJ_EyW0x4vUihBzWi2D5Zd1CiAq_mkb X-Authority-Analysis: v=2.4 cv=Nv7htcdJ c=1 sm=1 tr=0 ts=69ea0ca3 cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=bC-a23v3AAAA:8 a=EUspDBNiAAAA:8 a=arlgqegt7JSL4kvz61kA:9 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 a=FO4_E8m0qiDe52t0p3_H: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-23_03,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 adultscore=0 phishscore=0 malwarescore=0 clxscore=1015 bulkscore=0 impostorscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604230121 This fixes an issue in platform device code where, if we specify a software node for a platform device using struct platform_device_info, it will not be removed on device .release(). The second patch adds a new kunit helper which is used in patch 3/3 that adds a test-case that can be used to reproduce the problem and prove that the fix works as well as another making sure a corner case of using a software node as the primary firmware node works too. First patch should go into v7.1 while patches 2/3 and 3/3 can be queued for v7.2. Signed-off-by: Bartosz Golaszewski --- Changes in v2: - Change the order between removing the software node and dropping the reference to the device's OF node - Address a situation where a software node is used as the primary firmware node - Add a patch adding a new kunit helper - Add another test case - Link to v1: https://patch.msgid.link/20260410-swnode-remove-on-dev-unreg-v1-0-cd7d305f3db2@oss.qualcomm.com --- Bartosz Golaszewski (3): driver core: platform: remove software node on release() kunit: provide kunit_software_node_register() driver core: platform: tests: add test cases for correct swnode removal drivers/base/platform.c | 11 ++++ drivers/base/test/platform-device-test.c | 106 +++++++++++++++++++++++++++++++ include/kunit/fwnode.h | 19 ++++++ lib/kunit/Makefile | 3 +- lib/kunit/fwnode.c | 52 +++++++++++++++ 5 files changed, 190 insertions(+), 1 deletion(-) --- base-commit: 70c8a7ec6715b5fb14e501731b5b9210a16684f7 change-id: 20260410-swnode-remove-on-dev-unreg-42bfc4b23ba8 Best regards, -- Bartosz Golaszewski