Message ID | CAKON4OxvoLBiq64t6Oh1i3CgA=Zy5DU7xYEe2kkpVdWkXMmqsg@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, Aug 10, 2014 at 02:42:23PM -0400, jonsmirl@gmail.com wrote: > This should fix it to use the output clocks, but does it break any of > the other DTS using simple-audio? > > diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c > index 03a7fdc..8c4b267 100644 > --- a/sound/soc/generic/simple-card.c > +++ b/sound/soc/generic/simple-card.c > @@ -116,6 +116,7 @@ asoc_simple_card_sub_parse_of(struct device_node *np, > { > struct device_node *node; > struct clk *clk; > + const char *clk_name = NULL; > int ret; > > /* > @@ -156,11 +157,14 @@ asoc_simple_card_sub_parse_of(struct device_node *np, > "system-clock-frequency", > &dai->sysclk); > } else { > - clk = of_clk_get(node, 0); > - if (!IS_ERR(clk)) > - dai->sysclk = clk_get_rate(clk); > + of_property_read_string(node, "clock-output-names", &clk_name); > + if (clk_name) { > + clk = of_clk_get_by_name(node, clk_name); > + if (!IS_ERR(clk)) { > + dai->sysclk = clk_get_rate(clk); > + } Jon, please use indentation when sending code via e-mail - this is far too hard to read.
On Mon, Aug 11, 2014 at 6:48 AM, Mark Brown <broonie@kernel.org> wrote: > On Sun, Aug 10, 2014 at 02:42:23PM -0400, jonsmirl@gmail.com wrote: >> This should fix it to use the output clocks, but does it break any of >> the other DTS using simple-audio? >> >> diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c >> index 03a7fdc..8c4b267 100644 >> --- a/sound/soc/generic/simple-card.c >> +++ b/sound/soc/generic/simple-card.c >> @@ -116,6 +116,7 @@ asoc_simple_card_sub_parse_of(struct device_node *np, >> { >> struct device_node *node; >> struct clk *clk; >> + const char *clk_name = NULL; >> int ret; >> >> /* >> @@ -156,11 +157,14 @@ asoc_simple_card_sub_parse_of(struct device_node *np, >> "system-clock-frequency", >> &dai->sysclk); >> } else { >> - clk = of_clk_get(node, 0); >> - if (!IS_ERR(clk)) >> - dai->sysclk = clk_get_rate(clk); >> + of_property_read_string(node, "clock-output-names", &clk_name); >> + if (clk_name) { >> + clk = of_clk_get_by_name(node, clk_name); >> + if (!IS_ERR(clk)) { >> + dai->sysclk = clk_get_rate(clk); >> + } > > Jon, please use indentation when sending code via e-mail - this is far > too hard to read. Seems that gmail is eating my tabs. I'll see if I can set the my editor to convert them to spaces before pasting.
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c index 03a7fdc..8c4b267 100644 --- a/sound/soc/generic/simple-card.c +++ b/sound/soc/generic/simple-card.c @@ -116,6 +116,7 @@ asoc_simple_card_sub_parse_of(struct device_node *np, { struct device_node *node; struct clk *clk; + const char *clk_name = NULL; int ret; /* @@ -156,11 +157,14 @@ asoc_simple_card_sub_parse_of(struct device_node *np, "system-clock-frequency", &dai->sysclk); } else { - clk = of_clk_get(node, 0); - if (!IS_ERR(clk)) - dai->sysclk = clk_get_rate(clk); + of_property_read_string(node, "clock-output-names", &clk_name); + if (clk_name) { + clk = of_clk_get_by_name(node, clk_name); + if (!IS_ERR(clk)) { + dai->sysclk = clk_get_rate(clk); + } + } } - return 0; }