Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1528705 > unrolled thread

Re: [alsa-devel] [PATCH v2] clkdev: add devm_of_clk_get()

Started byStephen Boyd <sboyd@codeaurora.org>
First post2016-11-23 20:20 +0100
Last post2016-11-23 20:20 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [alsa-devel] [PATCH v2] clkdev: add devm_of_clk_get() Stephen Boyd <sboyd@codeaurora.org> - 2016-11-23 20:20 +0100

#1528705 — Re: [alsa-devel] [PATCH v2] clkdev: add devm_of_clk_get()

FromStephen Boyd <sboyd@codeaurora.org>
Date2016-11-23 20:20 +0100
SubjectRe: [alsa-devel] [PATCH v2] clkdev: add devm_of_clk_get()
Message-ID<sGLfj-uo-7@gated-at.bofh.it>
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

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web