From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dy1-f180.google.com (mail-dy1-f180.google.com [74.125.82.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A7C3834CFD0 for ; Tue, 12 May 2026 18:15:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778609739; cv=none; b=uQw3/C68ez5WdRgQAi+wdrtEo+ecRr4EvcRriHXgOEPuj98DplpdBjFrv+sNt6U3WUbMHlzbK3VX5qL8veM1MpNKYsVlgRsvvJm05tlkjTIRPnTHOIP52SLHM2/ANlAe6Qwm5jJTp5JWTtmT288U6X0Y8I5z/tykwhcCxKSFc6w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778609739; c=relaxed/simple; bh=w3zeFHabc0RCE8CZoof/qrEwoxqFjHFjwomgxIGxoCY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=c5mU79O1alGF/SbJY7T+0qJmLxRCEsOA65VUhgOm8qolDP6VURc6gxiGLASVBe8OAhfctz5wueeacI2xGwMLZpn2U8s3M/9gGmEJ2lrEoWUI7Gt9ruyx8xe0HcOws93HCSlzqFZ2pCS1bAX6qNiHzqtl6xJ7Ucup9jhw8xxbpTE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Ike2/dMW; arc=none smtp.client-ip=74.125.82.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ike2/dMW" Received: by mail-dy1-f180.google.com with SMTP id 5a478bee46e88-2ef2a1cc06dso10858233eec.0 for ; Tue, 12 May 2026 11:15:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778609738; x=1779214538; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=TqTMATn1TJBwDzhvgfdwIn2iY4blCTuTwL1WgCFtdYE=; b=Ike2/dMW2A0IhsvhFJMUDi+WY2/5NhgOLO/4FZ8yvFBmjbTs44mPtNTOnBBn6jVG// QdudxgEnmzMoaSRTQ5Irs+zBCkEGZsho8H3z6xXf5Q2MSduMU+B+LqS/HYqhXkei9gZN QTw7EVq48T927tL7PgwH8VVHW6MZQzVMFFjYmD2ggISp6JavQcxLrQPUdRxE+NsAU33t /XxZEARBr/EFD3en2OYQLxIoVD3MGO2sHDCgSt/e02Oq4R7OqaC2ULRxBcV+9TOgF9QD J65DUp/tdpv4q9397cwLKYffh5FH8bybdm1RWACIUmXV0k2iqLo6NILlWc+dtVloI2sa qhvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778609738; x=1779214538; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TqTMATn1TJBwDzhvgfdwIn2iY4blCTuTwL1WgCFtdYE=; b=MN+6VjKmp78TYuW31eCuLaJvF1UIw05ySg3wjDmqxkvKEHehgaDhOSti5e5nRPkfj4 bggOiJxruXw6eTkkv2g/L5ZqyawciuJXpTBBsiwbtMIi14gfBo2ZR/HvW3jc/VRkZUFg X9CafvvPURYbd/+FHDVMA7xzwfeT0ACIohLXcOm4PI86eHhjuOb8VjWDduzNo/T5G0sv M1uJCotvQzLqOXvWISSXfmqgDN/Sf1x3H3EMEUVLFSz4VVqHrntgymaY3oRHF9OJFrx+ zAVImcBg8bnPFWkFch2z26USv5kKwDi3V3mH3f/4vwnupGShoCh68HNjhtOYLWoYCnst 9tjw== X-Forwarded-Encrypted: i=1; AFNElJ+ROKMBs3l97GKBOfZwyp70i8zdPq1ooTPIchquflIRARR2lYGK3JAhDERo4+GC7b3uHMdm1hs5yk4D8Vw=@vger.kernel.org X-Gm-Message-State: AOJu0YzM47JCxPyTGbYLbUDV9+7BKqeMdu1UI/rIbY9OVFDcSpmW24EX eNs93pzrmVM1JfPUViRtXxqKLSmZrwmXUojEbnQn0xzWLnCYNOUvqhvP X-Gm-Gg: Acq92OF+okXOIsOKj2+lfNOljsS89/c6Z7CI8XdFi/Qd2F1TBahdBDO/shgb6YjzyDr gsTkwfjsoOFSURe5kNgPOxH84wDxWwMsMC1nCGXmOvkhY6BikzoXubP9CZx7YgYsGo874SzXAJS 77JHvQfGU0Dk13gBNCpX2w9UFUQ/Eikvm773lLyp2SM8U/3UH33XjuELSLLND8QcVXaLca/DQH4 2QK+8GpiUbMJZsyjValJBqcaAQ7zZCcxjmSaA6MfQYBFYRz8N7VDEI8T0/DvU7XMWMeS+FwXR9w XFDldC944ZPmQD5eEWRRN9KL7nh8Qdxgn4qJKFZQ0PbvRYmfLdwYR0F4dmvIn5CUJZr7WiOjES9 oQiIpPJtuhqXG3FCfI8/rvp5sZ0cuwcT2bPU3Gx8zGiK8BSnCxi1Nqf8KY1FvNkcwV0OOMZoxgb uUCE6Rh7hIma/rVfer+DfDsFTI469Iv3ktfFgHG+3LKIcdxWavv58nxE8abFxSku0Y X-Received: by 2002:a05:7301:22a9:b0:2f5:6dfc:cb6d with SMTP id 5a478bee46e88-301187bab75mr130655eec.11.1778609737694; Tue, 12 May 2026 11:15:37 -0700 (PDT) Received: from google.com ([2a00:79e0:2ebe:8:84ac:d22c:b037:1a93]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f88847502fsm22940594eec.14.2026.05.12.11.15.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 11:15:37 -0700 (PDT) Date: Tue, 12 May 2026 11:15:33 -0700 From: Dmitry Torokhov To: Danilo Krummrich Cc: Bartosz Golaszewski , Greg Kroah-Hartman , "Rafael J. Wysocki" , Brendan Higgins , David Gow , Rae Moar , Andy Shevchenko , Maximilian Luz , Hans de Goede , Ilpo =?utf-8?B?SsOkcnZpbmVu?= , Matthew Brost , Thomas =?utf-8?Q?Hellstr=C3=B6m?= , Rodrigo Vivi , David Airlie , Simona Vetter , brgl@kernel.org, driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, platform-driver-x86@vger.kernel.org, intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH v5 3/7] driver core: platform: provide platform_device_add_software_node() Message-ID: References: <20260512-swnode-remove-on-dev-unreg-v5-0-0035eff63812@oss.qualcomm.com> <20260512-swnode-remove-on-dev-unreg-v5-3-0035eff63812@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=us-ascii Content-Disposition: inline In-Reply-To: On Tue, May 12, 2026 at 06:31:44PM +0200, Danilo Krummrich wrote: > On Tue May 12, 2026 at 1:59 PM CEST, Bartosz Golaszewski wrote: > > +int platform_device_add_software_node(struct platform_device *pdev, > > + const struct software_node *swnode) > > +{ > > + return device_add_software_node(&pdev->dev, swnode); > > I think this should be device_create_managed_software_node(), see also [1]. The main issue is that we do not know if the software node is registered or not when platform device is registered, and are trying to use heuristic to figure it out and decide if we need to clean it up or not. You need a new variant of device_add_software_node() (device_set_software_node ?) that would bump up reference of already registered software nodes but if node is not registered yet created it as managed. Thanks. -- Dmitry