From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 53063CD5BB0 for ; Thu, 21 May 2026 08:37:36 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9C58A10F282; Thu, 21 May 2026 08:37:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.b="RpJqCKOQ"; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BtYKRHR7"; dkim-atps=neutral Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5FA4F10F282 for ; Thu, 21 May 2026 08:37:34 +0000 (UTC) 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 64L6AAub1797936 for ; Thu, 21 May 2026 08:37:34 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= GS7X0xr9hoUTms20bP858Mqd60XRacxhnK7wjblq9wQ=; b=RpJqCKOQq9IjMBeI NaUmV8pVneazD/ahQBrqvfJzEXvEdnfk8sRv5HiBPsutGW3ZWL1eakO5x5DWui/v nDTFgHBIYNg1ZOVvxjY/t09M8Z8r2UjxxOA7sjm6bgVjc+pfmITt6G4UsKYy//mp lCf05vqPVt/Emmfa3MMfL+XgpjD3OcXU2irG3Lp+Qedki4jY0DXfvMUanelej4o2 D6YVAnumiEwn+Jfi8/gQT4auodm2JP4r9kFQ4Wgl0iA9Q2aJXgolbKGmPB819LgP 15yOzw+iJgu1B6SIhaEjisDGvhNaxO7AznpJmlWjOK1tlp6YkaJtyWHuhYZ7BgSE 57ENaA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e9dxu41y3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 21 May 2026 08:37:33 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50d9a6a853bso163317711cf.0 for ; Thu, 21 May 2026 01:37:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779352653; x=1779957453; darn=lists.freedesktop.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=GS7X0xr9hoUTms20bP858Mqd60XRacxhnK7wjblq9wQ=; b=BtYKRHR7ZZdNQB6KMnp9h+qnuTIyovpPX8OMKDJvM7OQvIgUDk6JP4hMnQzjmFA0hz Hl0j1jaBKfvsaDxNrTNpbTNR4peULC0TidR6Jza8iYR9SCoD1RdGwfx6Ik5YUbazhsEU B46wfr5Wr1QHC4EsIq0PBZmn8mSEfe3djaWIE4g5G+ny1LbCH5HsCzkZMSQfzuA09GRK HpbUXpon+dwFQCxd+/pjJTO5BkgFfdUqMNCEygqBGCZ27DL8Eh1f/+6iDFDz6SQroUMF 7DqXIMsTJfCvFe1MQDMLqAom25BBbjAxgAe+Mq6UE9/BLRBBv7U2BdaHPlAyBcA0h3J9 68JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779352653; x=1779957453; 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=GS7X0xr9hoUTms20bP858Mqd60XRacxhnK7wjblq9wQ=; b=RxIghmgxKj8ctP19AidyaERQxZKZ/AFIiobFFNuaIPAt0OfbtMaSMUC9WCdtO8PKKt Wbpc7d/R2csxUVescLh9TBSQJIUWXHVnYyTJlG9Z6GlBXDB7jrdVA6qOaHLPaP31rDxm skgoLeDO5Tjp+kVHeNDoFJJaIgX1z5au3rOPwzTveA5LgWGzUmGXOBrTH4OlgS5hRx5m n85mAMZg0NlzIToTcqj7369WB1uIABAiVg2DtWGdoQqN8Nx9b0HOhEu0Rh9+qvdHVgwh rLUVP/YDgyoJ0hKPMXbjDcCDNkQkVUCqs9kT14qdqejAbTqmfsr1ss60iFsOP2Xy3DgQ LmGQ== X-Forwarded-Encrypted: i=1; AFNElJ+mW57OIxf3SSMX4BYBphz79uM0S1YNbkj+mpdt9WuB+p7l411SWfVpc3/lF7N0U7aqjmVNS2XpRZo=@lists.freedesktop.org X-Gm-Message-State: AOJu0YydbDg5VaCTgkCoujQTgJcWcmhjsI2adE/+Ipo+Mfb2/18DQZBs EuLLXxXes17zzF8lxGvbHDRZjLYuaeDdiFOvl255BgtvV1lBYQggpBpTAA9Exim3xyFsB/qxiYB ZB8V7rlJJM50VK9qX5WThp4uPiw67WtmnAVzhnLNFdXZLKoAjzTV4dgdhtAqTsSYEXRTBVWc= X-Gm-Gg: Acq92OHAPJIGbwUi5dHG8Np/oowFhV5VXAIPezXYWJufQ/VFaIMPBvtgj2Fg9qn9oeE Aula/kP7wNFYaMc6DcqtphtDFbtnaGnzJ+6ap3/ELHwsMKWC4fZccWncynAGkfteV3O/qp3ZyWz O3QVXYbadQv0oh4UAkr23CK9G+cYcgOLP0Ua0Z8T8I8its2qOgUTRFeHrq82zcDmsZ6G2T9Qe8T 2MUz7EFjhXYufVU587M5gi3UAdwuejhorsl/Mo4e48+0xZ3dD/RBUH49Fp8JGTqyP2GGz/T7auz GQYgOdp/0c+w9HZlSDb5UjVK4rvnlYJeb0JT7a+gfWd5KohMgGJqzJqWxGHmZUcUbxSMU3iFqVc X0WXbIgSXOcrhRK3IfEbOy8ZjqMobeysozobzNHh+9h/GKWDK7kM= X-Received: by 2002:a05:622a:1f0f:b0:50d:8903:ae6e with SMTP id d75a77b69052e-516c541246emr26414041cf.5.1779352652686; Thu, 21 May 2026 01:37:32 -0700 (PDT) X-Received: by 2002:a05:622a:1f0f:b0:50d:8903:ae6e with SMTP id d75a77b69052e-516c541246emr26412971cf.5.1779352651284; Thu, 21 May 2026 01:37:31 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:bb10:ae82:b7c3:d15a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4903caede9fsm10502405e9.14.2026.05.21.01.37.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 01:37:30 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 21 May 2026 10:36:31 +0200 Subject: [PATCH 08/23] driver core: platform: provide platform_device_set_of_node_from_dev() MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260521-pdev-fwnode-ref-v1-8-88c324a1b8d2@oss.qualcomm.com> References: <20260521-pdev-fwnode-ref-v1-0-88c324a1b8d2@oss.qualcomm.com> In-Reply-To: <20260521-pdev-fwnode-ref-v1-0-88c324a1b8d2@oss.qualcomm.com> To: Lee Jones , Mark Brown , Thierry Reding , Sebastian Hesselbarth , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Srinivas Kandagatla , Greg Kroah-Hartman , Vinod Koul , "Rafael J. Wysocki" , Danilo Krummrich , Rob Herring , Saravana Kannan , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , Andi Shyti , Andy Shevchenko , Joerg Roedel , Will Deacon , Robin Murphy , Doug Berger , Florian Fainelli , Broadcom internal kernel review list , Ulf Hansson , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Matthew Brost , =?utf-8?q?Thomas_Hellstr=C3=B6m?= , Rodrigo Vivi , David Airlie , Simona Vetter , Peter Chen , Paul Cercueil , Bin Liu , Philipp Zabel , Maximilian Luz , Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Krzysztof Kozlowski , Benjamin Herrenschmidt 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 X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2284; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=CP8cW3hVyUyBk6KqxcfnwpcDkHgTyD0WEhhuAHWbRgw=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDsQmR59ng9ZNR5OHp6pe9/iBiLI17IMmOUyhJ 8EAIIWC2ruJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCag7EJgAKCRAFnS7L/zaE w7UhEACvBFXwsGANI1Ib/eMS7OLOYiNJGoi0+qsSwHeOOk3USSuovHrB6FXSsC4LAGC+GAA5NWb aCNZGLDNdaeLPQjG4T601JVMjYXjB9oekRjFpJj3nwrDY/nE0scU2xXlcxl5l6VDKfdKWzZuQJh GGuAPfluMMoOs4pPXOw9rAa/Vi1i1LnUS1QpoCeZdRYuWKo678shNQFWgEh9NsMVaHSpp6nONzq 4DClQ1B3iJiZBQecmFxAyFAgjvfR5PCYSICb7XdS55GHrYkSMvwI93sLAurc1363iPl8OO2DIHy XGjow1moTi/Mxu8z5AbQ2YMuxVz7EgumVVA9+1IgK5jrXg8uaQc4c3URjsHh22NNTOUusK80ECM VxfuM2ll3rkpLGR8oBfjX8F/6tfH9OHdWYeIITbC1oAXnmf6xeGpsvSFe8EhHNmvSWLaIzEgO0/ txbBXyDsW5QErzNf7RVV9nI+XRK9Vvori7LTikzq8JHQOAluFRjM3uuzcMZBx12p4Xh0uuEvN/V VE1un3bx3mhk2gtkHann2FK2nFlYoaljscYVs0D2diCC9ran/CLdiBYQ3HQkzN3st8vLX+KkH8R ERIe2jcuu8qftX0Pj5PDLKrW0xg8HbbxQlW0J3jMT1NWs9nDmkZ+gm65hiSPfOqUQOZY7aED7My 7hqzdDwbnU6qmLw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIxMDA4MyBTYWx0ZWRfX33FXHmSMNHhy MnOsuDvaSLJIvnoBlktXWuM0eQ22FH6+J1GTRF64Z6nz5EHG0nWjWZzyVlmfVx/RMA4+SYP5CFd a31uEjcxaP1GbkoQGOJwSO+Yq6B0YTfnmWemOjV8xxYZw8/5/IvQZJgu3DUjGyEyWYMIa1Y8dqV 0uuSa+uQk8q2TioVBnJrAYsygbMGy78co5NZhHIqDm6DfQ9mnvqBZTtcToEFQdS2QY2LeHCTb+s xK5UwxxXvq6IuubXD34PLtyuKdVYizamCpG2rVG0jYRXLSbA3v5VTzyA89RI7PpIi+6yjydF5W0 2W6l52ETxKt5Bh28UTgqoobI2RwLn91JkLIA7RPcMrYWeVlEG6sGyzGxN5aKpzpz7SO9J8IZmTE MZ9a/kWIhTo1qFyOT7sAyF9eNHijIrEKe+8wOJMauTnrqnWRiUS4OIaH7rOdjtH/yFsi1DmNRFv s+lKmUkrT+x8K3imYWw== X-Authority-Analysis: v=2.4 cv=Zckt8MVA c=1 sm=1 tr=0 ts=6a0ec44d cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=nFtAjRmdzOROD1nQPfEA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: eHt-NLAv1TvZKIWguY1UJcNeDOloQRwi X-Proofpoint-ORIG-GUID: eHt-NLAv1TvZKIWguY1UJcNeDOloQRwi 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-05-21_01,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 lowpriorityscore=0 impostorscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605210083 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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 --- 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