Re: [net-next: PATCH v2 4/7] net: mvmdio: simplify clock handling

From: Andy Shevchenko
Date: Thu Jun 17 2021 - 03:28:34 EST


On Thu, Jun 17, 2021 at 2:25 AM Marcin Wojtas <mw@xxxxxxxxxxxx> wrote:
>
> śr., 16 cze 2021 o 21:48 Andrew Lunn <andrew@xxxxxxx> napisał(a):
> >
> > > + dev->clks[0].id = "core";
> > > + dev->clks[1].id = "mg";
> > > + dev->clks[2].id = "mg_core";
> > > + dev->clks[3].id = "axi";
> > > + ret = devm_clk_bulk_get_optional(&pdev->dev, MVMDIO_CLOCK_COUNT,
> > > + dev->clks);
> >
> > Kirkwood:
> >
> > mdio: mdio-bus@72004 {
> > compatible = "marvell,orion-mdio";
> > #address-cells = <1>;
> > #size-cells = <0>;
> > reg = <0x72004 0x84>;
> > interrupts = <46>;
> > clocks = <&gate_clk 0>;
> > status = "disabled";
> >
> > Does this work? There is no clock-names in DT.
> >
>
> Neither are the clocks in Armada 7k8k / CN913x:
>
> CP11X_LABEL(mdio): mdio@12a200 {
> #address-cells = <1>;
> #size-cells = <0>;
> compatible = "marvell,orion-mdio";
> reg = <0x12a200 0x10>;
> clocks = <&CP11X_LABEL(clk) 1 9>,
> <&CP11X_LABEL(clk) 1 5>,
> <&CP11X_LABEL(clk) 1 6>,
> <&CP11X_LABEL(clk) 1 18>;
> status = "disabled";
> };
>
> Apparently I misread the code and got convinced that contrary to
> devm_clk_get_optional(), the devm_clk_get_bulk_optional() obtains the
> clocks directly by index, not name (on the tested boards, the same
> clocks are enabled by the other interfaces, so the problems

Me too. Sorry for the wrong suggestion. I think we need something that
actually gets clocks by indices in a bulk, but this is another story.

> I will drop this patch. Thank you for spotting the issue.

I'm fine with this.

--
With Best Regards,
Andy Shevchenko