[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABb+yY2bSJ-dZ73DjZaNc+iEpXXU4bxbWBPaj0M_6qf+Zb=V_w@mail.gmail.com>
Date: Mon, 26 May 2025 14:47:34 -0500
From: Jassi Brar <jassisinghbrar@...il.com>
To: Stephan Gerhold <stephan.gerhold@...aro.org>
Cc: Bjorn Andersson <andersson@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Michael Turquette <mturquette@...libre.com>, Stephen Boyd <sboyd@...nel.org>,
linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, linux-clk@...r.kernel.org,
Georgi Djakov <djakov@...nel.org>,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
Subject: Re: [PATCH 2/4] mailbox: qcom-apcs-ipc: Assign OF node to clock
controller child device
On Tue, May 6, 2025 at 8:10 AM Stephan Gerhold
<stephan.gerhold@...aro.org> wrote:
>
> Currently, the child device for the clock controller inside the APCS block
> is created without any OF node assigned, so the drivers need to rely on the
> parent device for obtaining any resources.
>
> Add support for defining the clock controller inside a "clock-controller"
> subnode to break up circular dependencies between the mailbox and required
> parent clocks of the clock controller. For backwards compatibility, if the
> subnode is not defined, reuse the OF node from the parent device.
>
> Signed-off-by: Stephan Gerhold <stephan.gerhold@...aro.org>
> ---
> drivers/mailbox/qcom-apcs-ipc-mailbox.c | 16 ++++++++++++----
> 1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
> index 11c41e935a3619b74ad0f5e2d82699ca8aa05722..8b24ec0fa191efc975625d9b9270140ad1fe7b9b 100644
> --- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c
> +++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
> @@ -116,10 +116,18 @@ static int qcom_apcs_ipc_probe(struct platform_device *pdev)
> }
>
> if (apcs_data->clk_name) {
> - apcs->clk = platform_device_register_data(&pdev->dev,
> - apcs_data->clk_name,
> - PLATFORM_DEVID_AUTO,
> - NULL, 0);
> + struct device_node *np = of_get_child_by_name(pdev->dev.of_node,
> + "clock-controller");
> + struct platform_device_info pdevinfo = {
> + .parent = &pdev->dev,
> + .name = apcs_data->clk_name,
> + .id = PLATFORM_DEVID_AUTO,
> + .fwnode = of_fwnode_handle(np) ?: pdev->dev.fwnode,
> + .of_node_reused = !np,
> + };
> +
> + apcs->clk = platform_device_register_full(&pdevinfo);
> + of_node_put(np);
> if (IS_ERR(apcs->clk))
> dev_err(&pdev->dev, "failed to register APCS clk\n");
> }
>
I see the dt change is acked by the DT maintainer. I have no problem
with this patch and can merge, but do you want to wait for ack from
some Qcom dev?
thanks
Powered by blists - more mailing lists