[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMhs-H-ncXC37SAMkLfrFmpRi0ORkkCV9rQmrtmw_ndOLo+J0Q@mail.gmail.com>
Date: Sat, 17 Jun 2023 17:37:14 +0200
From: Sergio Paracuellos <sergio.paracuellos@...il.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
Cc: Shiji Yang <yangshiji66@...look.com>, arinc.unal@...nc9.com,
devicetree@...r.kernel.org, john@...ozen.org,
krzysztof.kozlowski+dt@...aro.org, linux-clk@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-mips@...r.kernel.org,
matthias.bgg@...il.com, mturquette@...libre.com,
p.zabel@...gutronix.de, robh+dt@...nel.org, sboyd@...nel.org,
tsbogend@...ha.franken.de
Subject: Re: [PATCH v3 2/9] clk: ralink: add clock and reset driver for MTMIPS SoCs
On Sat, Jun 17, 2023 at 4:43 PM Krzysztof Kozlowski
<krzysztof.kozlowski@...aro.org> wrote:
>
> On 17/06/2023 15:31, Sergio Paracuellos wrote:
> > Hi Krzysztof,
> >
> > On Sat, Jun 17, 2023 at 3:07 PM Krzysztof Kozlowski
> > <krzysztof.kozlowski@...aro.org> wrote:
> >>
> >> On 17/06/2023 14:54, Shiji Yang wrote:
> >>>> void __init plat_time_init(void)
> >>>> {
> >>>> + struct of_phandle_args clkspec;
> >>>> struct clk *clk;
> >>>> + int cpu_clk_idx;
> >>>>
> >>>> ralink_of_remap();
> >>>>
> >>>> - ralink_clk_init();
> >>>> - clk = clk_get_sys("cpu", NULL);
> >>>> + cpu_clk_idx = clk_cpu_index();
> >>>> + if (cpu_clk_idx == -1)
> >>>> + panic("unable to get CPU clock index");
> >>>> +
> >>>> + of_clk_init(NULL);
> >>>> + clkspec.np = of_find_node_by_name(NULL, "sysc");
> >>>
> >>> The node name should be "syscon" as the example node name in the
> >>> dt-bindings document is "syscon".
> >>
> >> NAK for both.
> >>
> >> Node names must not be an ABI, unless you talk about child of some
> >> device node. I don't think this is the case here. Look by phandle (for a
> >> device context) or by compatible (looks the case here).
> >
> > We need to get the cpu clock to set the initial cpu clock here. Search
> > by 'sysc' is the only shared in all the dtsi files since it is the
> > clock provider node. Why is this not correct?
>
> Because device node name can change anytime and your entire Linux driver
> gets broken. Node name is not an ABI.
Understood.
>
> > I don't understand what
> > you mean with look by phandle for a device context.
>
> Your device node should contain phandle to the other node.
>
> > The case of
> > searching for compatible is a mess since as you can see in the
> > bindings there are tons of compatibles to search for, then (this code
> > is common to all ralink platforms).
>
> Compatible is one of the ways using ABI.
Ok so it is also a broken approach, then.
>
> Best regards,
> Krzysztof
>
Thanks for clarification.
Best regards,
Sergio Paracuellos
Powered by blists - more mailing lists