Hi Mark
Thank you for your feedback
It rollbacks to legacy DT parsing at (B) if (A) didn't have master settings. Here, (B) re-try to get daifmt, and use "or" with (daifmt & ~CLOCK mask). Why CLOCK mask ? and shouldn't it use mask when "or" ? Otherwise FORMAT and INV part will be duplicated, I think. for example daifmt = (snd_soc_of_parse_daifmt() & SND_SOC_DAIFMT_CLOCK_MASK) | (daifmt & ~SND_SOC_DAIFMT_CLOCK_MASK)
I think using snd_soc_of_parse_daifmt() only is very enough at (B), but am I misunderstanding ??
I have to confess I'm not entirely clear on what the intent is behind the code; we can work out what it *does* but looking at it again I'd be hard pressed to say what the actual intent is. At the very least it needs more comments :/
I re-check it, and maybe my above assumption was not correct. I think I could understand what it want to do, but not 100% sure. I can/want to cleanup around here.
Because my assumption might not 100% true, I will post the patch with [RFC] prefix.
Thank you for your help !!
Best regards --- Kuninori Morimoto