Hi Stephen
Thank you for your feedback.
sound_soc { clocks = <&xxx>, <&xxx>; clock-names = "cpu", "codec"; ... cpu { ... }; codec { ... }; };
(snip)
The problem is that it encourages the use of of_clk_get() when clk_get() is more desirable. Ideally of_clk_get() is never used when a device exists. In this case, it seems like we need to support it though, hence the suggestion of having a devm_get_clk_from_child() API, that explicitly reads as "get a clock from a child node of this device". The distinction is important, because of_clk_get() should rarely be used.
I understand your point, but I think devm_get_clk_from_child() needs new DT setings, and it can't keep compatibility, or it makes driver complex. I think it is nice to have. but, I want to keep current style. Thus, I will try to use current of_clk_get() as-is, and call clk_free() somehow in this driver.