On 11/16, Kuninori Morimoto wrote: > > Hi Rob, Michael, Russell > > > What is the conclusion of this patch ? > We shouldn't add devm_of_clk_get() ? or can I continue ? > > The problem of current [devm_]clk_get() handles *dev only, > but I need to get clocks from DT node, not dev > > sound_soc { > ... > cpu { > ... > => clocks = <&xxx>; > }; > codec { > ... > => clocks = <&xxx>; > }; > }; > I've seen bindings that have the 'clocks' property at the top level and the appropriate 'clock-names' property to relate the clocks to a subnode. sound_soc { clocks = <&xxx>, <&xxx>; clock-names = "cpu", "codec"; ... cpu { ... }; codec { ... }; }; Then the subnodes call clk_get() with the top level device and the name of their node and things match up. I suppose this binding is finalized though, so we can't really do that? I see that the gpio framework has a similar design called devm_get_gpiod_from_child(), so how about we add a devm_get_clk_from_child() API? That would more closely match the intent here, which is to restrict the clk_get() operation to child nodes of the device passed as the first argument. struct clk *devm_get_clk_from_child(struct device *dev, const char *con_id, struct device_node *child); -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html