[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <155622774551.15276.4140891469702307355@swboyd.mtv.corp.google.com>
Date: Thu, 25 Apr 2019 14:29:05 -0700
From: Stephen Boyd <sboyd@...nel.org>
To: Jorge Ramirez <jorge.ramirez-ortiz@...aro.org>,
andy.gross@...aro.org, arnd@...db.de, bjorn.andersson@...aro.org,
david.brown@...aro.org, enric.balletbo@...labora.com,
heiko@...ech.de, horms+renesas@...ge.net.au,
jagan@...rulasolutions.com, jassisinghbrar@...il.com,
mark.rutland@....com, mturquette@...libre.com, olof@...om.net,
robh+dt@...nel.org, sibis@...eaurora.org, will.deacon@....com
Cc: vkoul@...nel.org, niklas.cassel@...aro.org,
georgi.djakov@...aro.org, amit.kucheria@...aro.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-clk@...r.kernel.org,
linux-arm-msm@...r.kernel.org, khasim.mohammed@...aro.org
Subject: Re: [PATCH v2 05/14] clk: qcom: apcs-msm8916: get parent clock names from DT
Quoting Jorge Ramirez (2019-04-22 04:44:50)
> On 2/22/19 19:11, Stephen Boyd wrote:
> > Quoting Jorge Ramirez-Ortiz (2019-01-28 10:32:52)
> >> @@ -61,6 +65,25 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev)
> >> if (!a53cc)
> >> return -ENOMEM;
> >>
> >> + /* check if the parent names are present in the device tree */
> >
> > This looks odd.
> >
> >> + ret = devm_clk_bulk_get(parent, ARRAY_SIZE(pclks), pclks);
> >> + if (ret == -EPROBE_DEFER)
> >> + return ret;
> >
> > Why can't we use of_clk_parent_fill() if we know this is always a DT
> > platform? The parent clks may not be registered at the time of probe?
>
> yes, and AFAICS the important thing at this point is that the clock is
> registered hence the handling of defer.
>
> I could use of_clk_parent_fill and then - if needed - call
> devm_clk_bulk_get but I am not sure of the gains of doing it (wouldnt
> this just make the code more confusing?)
Yeah of_clk_parent_fill() isn't the best approach. But it at least keeps
this driver from using clk consumer APIs?
>
>
> > Maybe this series should wait for the parent registration stuff I'm
> > working on so that this can be made simpler.
>
> the need for the clock name is not intrinsic to this driver (the driver
> itself doesnt use these names) but it just feeds these to the framework.
>
> I was looking into your parent registration code and I am not sure how
> can I use it in this particular driver other than simply removing the
> names and hoping that things are handled properly at the lower
> levels.... could you clarify please?
>
I think so. I've forgotten the context of this patch, but the general
idea would be to specify the parents with clock-names or DT index in the
DT node for the clks registered here and not use of_clk_parent_fill() or
do any sort of devm_clk_bulk_get() calls. Then the framework will take
care of finding the parents for the clks and hooking things up properly
for the parent-child relationship.
Powered by blists - more mailing lists