Re: [PATCH v2 1/2] dt-bindings: clock: Add bindings for Renesas ProXO

From: Michal Simek
Date: Thu Sep 29 2022 - 09:00:21 EST


Hi Geert,

On 9/29/22 14:20, Geert Uytterhoeven wrote:
Hi Michal,

On Thu, Sep 29, 2022 at 2:01 PM Michal Simek <michal.simek@xxxxxxx> wrote:
On 9/29/22 01:41, Stephen Boyd wrote:
Quoting Alex Helms (2022-09-28 16:16:04)
On 9/27/2022 7:51 AM, Geert Uytterhoeven wrote:
On Tue, Sep 27, 2022 at 4:10 PM Michal Simek <michal.simek@xxxxxxx> wrote:
On 9/27/22 01:04, Rob Herring wrote:
On Fri, Sep 23, 2022 at 01:52:50PM -0700, Alex Helms wrote:
Add dt bindings for the Renesas ProXO oscillator.

Signed-off-by: Alex Helms <alexander.helms.jy@xxxxxxxxxxx>

--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/renesas,proxo.yaml

Driver is also using clock-output-names which is not listed here.

... which is deprecated, and thus should not be used by the driver
at all.

Can you point me to somewhere showing it is deprecated? It is in the
current dt clock documentation.

I wouldn't say it is deprecated. Instead, it isn't useful if you're able
to use struct clk_parent_data and auto-generated clk names.

I am not closely doing clk subsystem but these chips are clock provider without
any parent. If you mean calling function like this
of_clk_get_parent_name(client->dev.of_node, 0) then it should return null.
But maybe there is something else what you are referring to.

I see that fixed clock driver is using node->name which is also problematic
because node name for these devices on i2c will look like clock-controller@XX
where XX could be the same when i2c muxes are used.

Indeed, drivers typically use the node name or the driver name instead,
but that may cause conflicts in case of multiple instances.
So you best append ".%u" obtained from e.g. <linux/idr.h>.

No doubt about it but with 20 clock providers on the board this will be quite messy. And I expect idr assignment will be done based on probe order and can change across boots.
So far I am filling clock-output-name with human readable name to clearly identify what certain clock is doing. Instead of remembering that clk.5 is ddr4 clock source, etc.


And in connection to deprecation. I see only one file which is saying that it is
deprecated.
Documentation/devicetree/bindings/sound/samsung-i2s.yaml
and it was deprecated before yaml conversion already.

It was deprecated long before the introduction of json-schema (2015?).

Then I think it would be good to mark it like that in schema to have clear message to everything that this property shouldn't be used..

Would be good to have any link to that discussion but not asking you to waste time on it. But I would be very surprised that no driver was merged from 2015 to the tree when I see also 2k lines in DT in the kernel with this property. It looks like that it is quite popular.

Thanks,
Michal