On 6/30/2020 7:38 AM, Kuninori Morimoto wrote:
External email: Use caution opening links or attachments
Hi Sameer
snprintf(prop, sizeof(prop), "%smclk-fs", prefix);
of_property_read_u32(node, prop, &props->mclk_fs);
of_property_read_u32(cpu, prop, &props->mclk_fs);
- of_property_read_u32(codec, prop, &props->mclk_fs);
+
+ if (cpu != codec)
+ of_property_read_u32(codec, prop, &props->mclk_fs);
Maybe we want to have "cpu" in simple_dai_link_of_dpcm() side
without using magical code in simple_parse_mclk_fs() side ?
Are you suggesting if we should simplify simple_parse_mclk_fs() by
either passing 'cpu' or 'codec'?
Oops, sorry I was misunderstand.
But I still not 100% understand what do you want to do here.
Maybe 50% is my English skill, but in your code
(C) of_property_read_u32(cpu, prop, &props->mclk_fs);
- of_property_read_u32(codec, prop, &props->mclk_fs);
+
+ if (cpu != codec)
(B) + of_property_read_u32(codec, prop, &props->mclk_fs);
and
- simple_parse_mclk_fs(top, np, codec, dai_props, prefix);
(A) + simple_parse_mclk_fs(top, np, np, dai_props, prefix);
Because of (A), cpu = codec = np in simple_parse_mclk_fs().
Do we have chance to call (B) ?
And it still have read_u32(cpu, ...) at (C),
this means all np will read mclk_fs anyway ?
For me, if you don't want/need mclk_fs, don't set it on DT
is the best answer, but am I misunderstanding ?
Sorry if I was not clear before.
My goal was to get rid of 'codec' argument from DPCM function
simple_dai_link_of_dpcm(). Patches 10/23, 11/23 are preparations for
12/23 to have multiple Codec support.
simple_parse_mclk_fs() is used by both simple_dai_link_of_dpcm() and
simple_dai_link_of(). To make the same API work for both the cases, I
had to use (A) in DPCM function. Now (B) does not get used for
simple_dai_link_of_dpcm(), but will get used by simple_dai_link_of().
If it is simpler I will just avoid 'cpu != codec' check and keep the
function simple_parse_mclk_fs() as it is.
Thank you for your help !!
Best regards
---
Kuninori Morimoto