From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
To: "Lee Jones" <lee@kernel.org>,
"Mark Brown" <broonie@opensource.wolfsonmicro.com>,
"Thierry Reding" <thierry.reding@avionic-design.de>,
"Sebastian Hesselbarth" <sebastian.hesselbarth@gmail.com>,
"Andrew Lunn" <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Srinivas Kandagatla" <srini@kernel.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Vinod Koul" <vkoul@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Danilo Krummrich" <dakr@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Saravana Kannan" <saravanak@kernel.org>,
"Madhavan Srinivasan" <maddy@linux.ibm.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
"Andi Shyti" <andi.shyti@kernel.org>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Joerg Roedel" <joro@8bytes.org>, "Will Deacon" <will@kernel.org>,
"Robin Murphy" <robin.murphy@arm.com>,
"Doug Berger" <opendmb@gmail.com>,
"Florian Fainelli" <florian.fainelli@broadcom.com>,
"Broadcom internal kernel review list"
<bcm-kernel-feedback-list@broadcom.com>,
"Ulf Hansson" <ulfh@kernel.org>, "Frank Li" <Frank.Li@nxp.com>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Matthew Brost" <matthew.brost@intel.com>,
"Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Peter Chen" <peter.chen@kernel.org>,
"Paul Cercueil" <paul@crapouillou.net>, "Bin Liu" <b-liu@ti.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Maximilian Luz" <luzmaximilian@gmail.com>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Benjamin Herrenschmidt" <benh@kernel.crashing.org>
Cc: brgl@kernel.org, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-sound@vger.kernel.org, driver-core@lists.linux.dev,
devicetree@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-i2c@vger.kernel.org, iommu@lists.linux.dev,
linux-pm@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-usb@vger.kernel.org, linux-mips@vger.kernel.org,
platform-driver-x86@vger.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Subject: [PATCH 08/23] driver core: platform: provide platform_device_set_of_node_from_dev()
Date: Thu, 21 May 2026 10:36:31 +0200 [thread overview]
Message-ID: <20260521-pdev-fwnode-ref-v1-8-88c324a1b8d2@oss.qualcomm.com> (raw)
In-Reply-To: <20260521-pdev-fwnode-ref-v1-0-88c324a1b8d2@oss.qualcomm.com>
Provide a platform-specific variant of device_set_of_node_from_dev(). In
addition to bumping the reference count of the OF node being assigned,
it also assigns the fwnode of the platform device.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/base/platform.c | 16 ++++++++++++++++
include/linux/platform_device.h | 2 ++
2 files changed, 18 insertions(+)
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 449914e657c9c58cbf030208e60583dde728d6c0..b14f707f077bcc535fff9484d1ec904616d0a1d1 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -730,6 +730,22 @@ void platform_device_set_fwnode(struct platform_device *pdev,
}
EXPORT_SYMBOL_GPL(platform_device_set_fwnode);
+/**
+ * platform_device_set_of_node_from_dev - reuse OF node of another device
+ * @pdev: platform device to set the node for
+ * @dev2: device whose OF node to reuse
+ *
+ * Reuses the OF node of another device in this platform device while
+ * internally keeping track of reference counting.
+ */
+void platform_device_set_of_node_from_dev(struct platform_device *pdev,
+ const struct device *dev2)
+{
+ device_set_of_node_from_dev(&pdev->dev, dev2);
+ pdev->dev.fwnode = of_fwnode_handle(pdev->dev.of_node);
+}
+EXPORT_SYMBOL_GPL(platform_device_set_of_node_from_dev);
+
/**
* platform_device_add - add a platform device to device hierarchy
* @pdev: platform device we're adding
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index a915a6f2da71284b60a6595dfeb013ca0dba542e..e5ca686f23998a3182a9573a7d1e84c6a6fcdafb 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -268,6 +268,8 @@ void platform_device_set_of_node(struct platform_device *pdev,
struct device_node *np);
void platform_device_set_fwnode(struct platform_device *pdev,
struct fwnode_handle *fwnode);
+void platform_device_set_of_node_from_dev(struct platform_device *pdev,
+ const struct device *dev2);
extern int platform_device_add(struct platform_device *pdev);
extern void platform_device_del(struct platform_device *pdev);
extern void platform_device_put(struct platform_device *pdev);
--
2.47.3
next prev parent reply other threads:[~2026-05-21 8:37 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-21 8:36 [PATCH 00/23] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 01/23] mfd: tps6586x: fix OF node refcount Bartosz Golaszewski
2026-05-27 15:36 ` (subset) " Lee Jones
2026-05-21 8:36 ` [PATCH 02/23] net: mv643xx: " Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 03/23] slimbus: qcom-ngd-ctrl: " Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 04/23] pmdomain: imx: " Bartosz Golaszewski
2026-06-03 10:15 ` Ulf Hansson
2026-05-21 8:36 ` [PATCH 05/23] powerpc/powermac: " Bartosz Golaszewski
2026-06-08 8:40 ` Bartosz Golaszewski
2026-06-22 17:43 ` Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 06/23] driver core: platform: provide platform_device_set_of_node() Bartosz Golaszewski
2026-06-02 21:40 ` Andy Shevchenko
2026-05-21 8:36 ` [PATCH 07/23] driver core: platform: provide platform_device_set_fwnode() Bartosz Golaszewski
2026-06-02 21:41 ` Andy Shevchenko
2026-06-04 12:32 ` Bartosz Golaszewski
2026-06-16 9:49 ` Andy Shevchenko
2026-06-16 9:51 ` Bartosz Golaszewski
2026-05-21 8:36 ` Bartosz Golaszewski [this message]
2026-06-02 21:44 ` [PATCH 08/23] driver core: platform: provide platform_device_set_of_node_from_dev() Andy Shevchenko
2026-06-04 12:33 ` Bartosz Golaszewski
2026-06-05 12:16 ` Johan Hovold
2026-06-05 14:53 ` Andy Shevchenko
2026-06-08 7:03 ` Johan Hovold
2026-06-16 9:41 ` Andy Shevchenko
2026-05-21 8:36 ` [PATCH 09/23] of: platform: use platform_device_set_of_node() Bartosz Golaszewski
2026-06-01 23:35 ` Rob Herring (Arm)
2026-05-21 8:36 ` [PATCH 10/23] powerpc/powermac: " Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 11/23] i2c: pxa-pci: " Bartosz Golaszewski
2026-05-21 9:13 ` Wolfram Sang
2026-06-04 23:51 ` Andi Shyti
2026-05-21 8:36 ` [PATCH 12/23] iommu/fsl: " Bartosz Golaszewski
2026-05-21 9:44 ` Robin Murphy
2026-05-21 8:36 ` [PATCH 13/23] net: bcmgenet: " Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 14/23] pmdomain: imx: " Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 15/23] mfd: tps6586: " Bartosz Golaszewski
2026-05-27 15:31 ` Lee Jones
2026-05-21 8:36 ` [PATCH 16/23] slimbus: qcom-ngd-ctrl: " Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 17/23] net: mv643xx: " Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 18/23] drm/xe/i2c: use platform_device_set_fwnode() Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 19/23] platform/surface: gpe: " Bartosz Golaszewski
2026-05-28 11:21 ` Ilpo Järvinen
2026-05-21 8:36 ` [PATCH 20/23] usb: chipidea: use platform_device_set_of_node_from_dev() Bartosz Golaszewski
2026-06-02 21:49 ` Andy Shevchenko
2026-06-04 12:34 ` Bartosz Golaszewski
2026-06-05 6:59 ` Peter Chen (CIX)
2026-06-05 7:31 ` Andy Shevchenko
2026-06-05 6:57 ` Peter Chen (CIX)
2026-05-21 8:36 ` [PATCH 21/23] usb: musb: " Bartosz Golaszewski
2026-06-02 21:50 ` Andy Shevchenko
2026-06-29 9:06 ` Bartosz Golaszewski
2026-05-21 8:36 ` [PATCH 22/23] reset: rzg2l: " Bartosz Golaszewski
2026-06-02 8:24 ` Philipp Zabel
2026-06-02 21:52 ` Andy Shevchenko
2026-06-05 12:18 ` Johan Hovold
2026-06-05 14:54 ` Andy Shevchenko
2026-06-08 6:52 ` Johan Hovold
2026-05-21 8:36 ` [PATCH 23/23] driver core: platform: count references to all kinds of firmware nodes Bartosz Golaszewski
2026-05-29 12:55 ` (subset) [PATCH 00/23] driver core: count references of the platform device's fwnode, not OF node Srinivas Kandagatla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260521-pdev-fwnode-ref-v1-8-88c324a1b8d2@oss.qualcomm.com \
--to=bartosz.golaszewski@oss.qualcomm.com \
--cc=Frank.Li@nxp.com \
--cc=airlied@gmail.com \
--cc=andi.shyti@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=andriy.shevchenko@linux.intel.com \
--cc=b-liu@ti.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=benh@kernel.crashing.org \
--cc=brgl@kernel.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=chleroy@kernel.org \
--cc=dakr@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=driver-core@lists.linux.dev \
--cc=edumazet@google.com \
--cc=festevam@gmail.com \
--cc=florian.fainelli@broadcom.com \
--cc=gregkh@linuxfoundation.org \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=imx@lists.linux.dev \
--cc=intel-xe@lists.freedesktop.org \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=kernel@pengutronix.de \
--cc=krzk@kernel.org \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=luzmaximilian@gmail.com \
--cc=maddy@linux.ibm.com \
--cc=matthew.brost@intel.com \
--cc=mpe@ellerman.id.au \
--cc=netdev@vger.kernel.org \
--cc=npiggin@gmail.com \
--cc=opendmb@gmail.com \
--cc=p.zabel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=paul@crapouillou.net \
--cc=peter.chen@kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=robin.murphy@arm.com \
--cc=rodrigo.vivi@intel.com \
--cc=s.hauer@pengutronix.de \
--cc=saravanak@kernel.org \
--cc=sebastian.hesselbarth@gmail.com \
--cc=simona@ffwll.ch \
--cc=srini@kernel.org \
--cc=thierry.reding@avionic-design.de \
--cc=thomas.hellstrom@linux.intel.com \
--cc=ulfh@kernel.org \
--cc=vkoul@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®