From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 3E716261B9D for ; Fri, 23 Jan 2026 13:53:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769176433; cv=none; b=b1hIMDCtW7DxmtBvH82fGXGFMSWMYHs1mO9X5PiTGo65PmfYPEJADQyq8Hn1vY2UxlzkUxaVuPdJAX6fQ2anRhnGZx7EjiecJz8fiBRfq86+l6dyXxM7om2Ej99Ivlgko0vCJ/A8Qpx7cqw5M/yFtbNdouDyITyZttHpveFcQ0s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769176433; c=relaxed/simple; bh=ARsh7yVkaTjhfNXlQQNdqW8KzcgE7DBrjE6Oh4aiDDc=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=rZyTVEaf7tHvOclFbTeYn3lBHBvzXjOi0MUOKDGgTe2G+AVCI8zwycDsaAs3D/Kv86qpQzhHOvxL2FbKXyjU0kXSxIm+9oKsyrM1AB48ayphLvYfz700gxaxUtxArs1kb50yyoWWed8lca9SYrccEp/OdpAYuCCJ4WDf4rB79i0= 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=AuRKHtxF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eNqTXmGf; arc=none smtp.client-ip=205.220.180.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="AuRKHtxF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eNqTXmGf" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60N8Lhn73649083 for ; Fri, 23 Jan 2026 13:53:49 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= xyk4VyTJvjXyVeGrau23wiL81EvwFDD9XQegtrqTgvc=; b=AuRKHtxFyw1rA19I a9dqHS41Gy6UonEBf5+cW03Z5w7f4/MstRkmP2YPrg3/cNFqCMY5W1QGsCg2HHGJ HwiYqeN/IExF2aO0y6eM8Hbo26EzXpAYavhv+xIUE5PHMEIMEt1Uc/sAV7aX9F8e qra1j/+qP0RYd1WBreCaiRrlH1vZRI+7YFqrFpxedrNE06PgmVbvVupjaboiSoTF zn4gjBQPnjNW15MY2B9+mvNCPUDmisCPFksd2TS0cHSxkMfEY4XZ6J0MV5KzZGyc wQ+SR2k8f4CdcFTZ8zQYtRMN2q5wtVTzqw8GgVUGSoGcgpF/Duy658rZ+DrNDQuH HLVtqg== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4buy4nthp5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 23 Jan 2026 13:53:49 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-35301003062so4758719a91.2 for ; Fri, 23 Jan 2026 05:53:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769176428; x=1769781228; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=xyk4VyTJvjXyVeGrau23wiL81EvwFDD9XQegtrqTgvc=; b=eNqTXmGfSKMK4ITO4A8Hk5r52Me4+aQn/Sj2C23LhhgVTV+Kd87oCI8sct6rP9EDuF 88yeQ2DwP6JxjaeeOhvKWr3uBAC0x/Se1td8gb2C7hLNaVyP+7GvaAcebpAxcF5J8uDx gUTIvpYYST09zhlOYOJeLGTNXrFH/CsTGuUJQ/3dqVzxaLCJ5SXL6j2oEvK8McabC1N5 W0COL1WdjqHChVkXeJMo3X7Bb3YZ3ZIpRh70i9wi8OBF8XerMhu/l+W9dCPI9LkPr0x4 CmzVPMgK+VHLuE+003XcJ79icWiK8jL/40N/DYls+ATrUKIN4X8ynXaYh7jGqqSE6Dak gNZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769176428; x=1769781228; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=xyk4VyTJvjXyVeGrau23wiL81EvwFDD9XQegtrqTgvc=; b=lnKJOlFLfpLB3aVIwEVcBvbVkFZV2eOrxO905yjf1tiZvcTU8f8DD3exfq6eZf/tG7 TG4vlc2Y6UJm0PZuDFfJgNhoxxgzOaggmHvEQx5J5PqsdFwYNi8WdS2LjIkg7SDEdm3O pTtxElYrotutnH7tBDv+FGGEG9pZH3inKCcntbAyvT3vrHSvHPOHyXqWxSXoi5LLvnfw SGtwML5T8zTEouFO4sV/v6SE9QTOr57dOKY2HNZXAkwBoU9u+2sgf8KH4jCQ+1tqviiY 15T00UTb2ahpabFA3xbufSEh24VSnvIG5sx3Qq5A/vD8sFe3pkdF+hwfL1WtymevdmEL NITQ== X-Forwarded-Encrypted: i=1; AJvYcCXtz/CMA1TtaiwEOUHErRR6AWUBI7xzln+tm2kRKzzSwapUK4HwbvcL8YuYeHg0Fx1ZXbXS5u+Wp3nnyZ8=@vger.kernel.org X-Gm-Message-State: AOJu0YzwLuhvY3VTLOBT7t6DQMalD0CosHQ+axkR0NP/0xw/bXD+q5A6 dlcQ2hAtT2x+7aR1aQGl2GvEq7nOcfl/9qo7uMXs2sMSSC1SBct+NmVZWmSuKaUI6iZ1WtGbSi3 QWtcqsO/T0aabKzjWBcwiNA0FIHizfPwOHCS+4D3XvzdmW7GIhJDZP8fMA5paDW5Acus= X-Gm-Gg: AZuq6aLhnxA3OzeSsjN9nApdhrssczZ7L4jpKtQX2EAKO+HNAVn6jiqBBffs2NTaLPZ oScXaiKWQf4odwMAw4AyG7dfBorlfYKdaLQbNjBWf8AC+jNpzWJH3gHwu/5TOKtijvz0BalDDwv 7+N5SZVCj/EdJ7k2MvnXUuywbPPM/DvoTAkDpGt4wCY1LJJVd1FtxxGGeTvklO+l1MRRGcqUE20 0j8X1ojZwLEd84zo88gsMXbRhk7OJbqFOfX3auBNFA0MQiocYVLUDgu/lOiN9te5wqa+X1S4PMj z+nnzOu/bAxan4jUlBzHhDDNw4esEGNqB9reJLcl1oRo0WpD43Pn2Gc+LIyqKDEK+maMrzm6v5W anDP5kn6pkzViglDLKo62ph8vUeu0Sk5jKV0umJIz X-Received: by 2002:a17:90b:4d8b:b0:340:ca7d:936a with SMTP id 98e67ed59e1d1-353688574d3mr2598997a91.18.1769176428029; Fri, 23 Jan 2026 05:53:48 -0800 (PST) X-Received: by 2002:a17:90b:4d8b:b0:340:ca7d:936a with SMTP id 98e67ed59e1d1-353688574d3mr2598963a91.18.1769176427551; Fri, 23 Jan 2026 05:53:47 -0800 (PST) Received: from [192.168.1.22] ([106.222.229.24]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-353352160a2sm5222874a91.7.2026.01.23.05.53.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 23 Jan 2026 05:53:46 -0800 (PST) Message-ID: <57493aef-fb35-4377-8cf3-1df7f53470c9@oss.qualcomm.com> Date: Fri, 23 Jan 2026 19:23:39 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 2/8] remoteproc: qcom: probe all child devices From: Gaurav Kohli To: Bjorn Andersson Cc: mathieu.poirier@linaro.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, rafael@kernel.org, daniel.lezcano@linaro.org, rui.zhang@intel.com, lukasz.luba@arm.com, konradybcio@kernel.org, amitk@kernel.org, mani@kernel.org, casey.connolly@linaro.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org References: <20251223123227.1317244-1-gaurav.kohli@oss.qualcomm.com> <20251223123227.1317244-3-gaurav.kohli@oss.qualcomm.com> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-GUID: mDErpNxLdqR4uGOl6j7R_NWvbB5JZ9Fw X-Authority-Analysis: v=2.4 cv=I5lohdgg c=1 sm=1 tr=0 ts=69737d6d cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=EBd7WcfsMYPMwvoCMWz0vA==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=32UuRXtoL6AckyYbW_AA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: mDErpNxLdqR4uGOl6j7R_NWvbB5JZ9Fw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTIzMDExMyBTYWx0ZWRfX7qV9jKF4Lf7g YfYa3sKDrWdO1yCFixMIxsL79NZpW0rqeM9ciAIr0rwGWhDxfNiTfOoMSGTzGa9hn1UVYB/AYpx m5t1UNNCb2KTspXWiPjxBaba1f6R6GJRxiZNplI/aye+m53Bdxz1kxNCSRqdWIFLsDQAuHXQTbw SYZNsHspZ2VglkkxQg570CSxO62ZYmYPo2xgpKe0zG36QH2TcbrYIZ3a8T5NBPGm8NT2JkIYiH0 elJKu74CTt6y4iKhMjDSxDsMDn36oKnGX51OR+aiy9/c50Zgq1+5DUQ8kbQNZqfwOBAMXhu0FvQ GXcrhGNw5qCS+br7RTwJkrkeUifgVlMP3eAE2CjYapkVnFaMQUEA2uREF2BrgOouYIilmDBi0R3 YXNVKGUf5vQ2RuHIdgcQaFxwcUuPGrdR7trJsZhPcxP5xsZqmSgr6K4ntKcmqQPhTteXco/0IYS cRD6f4KsMsSYH7AA9OA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-23_02,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 phishscore=0 spamscore=0 bulkscore=0 suspectscore=0 adultscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601230113 On 1/8/2026 12:37 PM, Gaurav Kohli wrote: > > On 1/3/2026 8:26 PM, Bjorn Andersson wrote: >> On Tue, Dec 23, 2025 at 06:02:21PM +0530, Gaurav Kohli wrote: >>> From: Casey Connolly >>> >>> Generalise the qcom,bam-dmux child node support by probing all >>> remoteproc children with of_platform_populate(). This will be used to >>> enable support for devices which are best represented as subnodes of >>> the >>> remoteproc, such as those representing QMI clients. >> Please flip this around, start with the description of the problem >> you're trying to solve. >> >>> Signed-off-by: Casey Connolly >> This must have your signed-off-by, where you certifies the origin of >> this patch. >> >>> --- >>>   drivers/remoteproc/qcom_q6v5.c     | 4 ++++ >>>   drivers/remoteproc/qcom_q6v5_mss.c | 8 -------- >>>   2 files changed, 4 insertions(+), 8 deletions(-) >>> >>> diff --git a/drivers/remoteproc/qcom_q6v5.c >>> b/drivers/remoteproc/qcom_q6v5.c >>> index 58d5b85e58cd..a02839c7ed8c 100644 >>> --- a/drivers/remoteproc/qcom_q6v5.c >>> +++ b/drivers/remoteproc/qcom_q6v5.c >>> @@ -6,6 +6,7 @@ >>>    * Copyright (C) 2014 Sony Mobile Communications AB >>>    * Copyright (c) 2012-2013, The Linux Foundation. All rights >>> reserved. >>>    */ >>> +#include >>>   #include >>>   #include >>>   #include >>> @@ -351,6 +352,8 @@ int qcom_q6v5_init(struct qcom_q6v5 *q6v5, >>> struct platform_device *pdev, >>>           return dev_err_probe(&pdev->dev, PTR_ERR(q6v5->path), >>>                        "failed to acquire interconnect path\n"); >>>   +    of_platform_populate(q6v5->dev->of_node, NULL, NULL, q6v5->dev); >> There are other child nodes here, in particular the GLINK and SMD edges. >> Do we really want platform_devices registered for them? >> >> Regards, >> Bjorn > > > thanks for pointing this, can you please suggest the right approach. > > This should not impact glink, as that is registering as rproc sub > node, And we need rproc cooling as child node > > of remote proc subsytem to create probe dependency only. > > > Can we do platform populate for specific child, would that be right > approach. or we should create rproc cooling as independent of parent ? > HI Bjorn, I’d like to highlight the impact and details of placement of remoteproc cooling dt node: ->As a child of the remote proc subsystem node:     In this configuration, the cooling device will only be probed once the corresponding remote proc subsystem itself is probed. ->Outside the remote proc subsystem, may be part of soc node:     In this setup, the cooling device will be probed independently. It will wait until the remoteproc subsystem is brought up     before completing cooling registration.     The drawback here is that if the parent remoteproc subsystem is disabled, the cooling device will still undergo an     unnecessary probe, even though it cannot be registered. > >>> + >>>       return 0; >>>   } >>>   EXPORT_SYMBOL_GPL(qcom_q6v5_init); >>> @@ -361,6 +364,7 @@ EXPORT_SYMBOL_GPL(qcom_q6v5_init); >>>    */ >>>   void qcom_q6v5_deinit(struct qcom_q6v5 *q6v5) >>>   { >>> +    of_platform_depopulate(q6v5->dev); >>>       qmp_put(q6v5->qmp); >>>   } >>>   EXPORT_SYMBOL_GPL(qcom_q6v5_deinit); >>> diff --git a/drivers/remoteproc/qcom_q6v5_mss.c >>> b/drivers/remoteproc/qcom_q6v5_mss.c >>> index 91940977ca89..d40565c1cc62 100644 >>> --- a/drivers/remoteproc/qcom_q6v5_mss.c >>> +++ b/drivers/remoteproc/qcom_q6v5_mss.c >>> @@ -238,7 +238,6 @@ struct q6v5 { >>>       struct qcom_rproc_pdm pdm_subdev; >>>       struct qcom_rproc_ssr ssr_subdev; >>>       struct qcom_sysmon *sysmon; >>> -    struct platform_device *bam_dmux; >>>       bool need_mem_protection; >>>       bool has_alt_reset; >>>       bool has_mba_logs; >>> @@ -2029,7 +2028,6 @@ static int q6v5_alloc_memory_region(struct >>> q6v5 *qproc) >>>   static int q6v5_probe(struct platform_device *pdev) >>>   { >>>       const struct rproc_hexagon_res *desc; >>> -    struct device_node *node; >>>       struct q6v5 *qproc; >>>       struct rproc *rproc; >>>       const char *mba_image; >>> @@ -2163,10 +2161,6 @@ static int q6v5_probe(struct platform_device >>> *pdev) >>>       if (ret) >>>           goto remove_sysmon_subdev; >>>   -    node = of_get_compatible_child(pdev->dev.of_node, >>> "qcom,bam-dmux"); >>> -    qproc->bam_dmux = of_platform_device_create(node, NULL, >>> &pdev->dev); >>> -    of_node_put(node); >>> - >>>       return 0; >>>     remove_sysmon_subdev: >>> @@ -2186,8 +2180,6 @@ static void q6v5_remove(struct platform_device >>> *pdev) >>>       struct q6v5 *qproc = platform_get_drvdata(pdev); >>>       struct rproc *rproc = qproc->rproc; >>>   -    if (qproc->bam_dmux) >>> - of_platform_device_destroy(&qproc->bam_dmux->dev, NULL); >>>       rproc_del(rproc); >>>         qcom_q6v5_deinit(&qproc->q6v5); >>> -- >>> 2.34.1 >>>