ASoC: rsrc-card: move rsrc_card_parse_daifmt() to upper side
This is prepare for DPCM cleanup Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Tested-by: Keita Kobayashi <keita.kobayashi.ym@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
8bd616c4f7
commit
fe3bd18432
|
@ -171,6 +171,41 @@ static int rsrc_card_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int rsrc_card_parse_daifmt(struct device_node *node,
|
||||
struct rsrc_card_priv *priv,
|
||||
struct device_node *codec,
|
||||
int idx)
|
||||
{
|
||||
struct device_node *bitclkmaster = NULL;
|
||||
struct device_node *framemaster = NULL;
|
||||
struct rsrc_card_dai_props *dai_props = rsrc_priv_to_props(priv, idx);
|
||||
struct rsrc_card_dai *cpu_dai = &dai_props->cpu_dai;
|
||||
struct rsrc_card_dai *codec_dai = &dai_props->codec_dai;
|
||||
unsigned int daifmt;
|
||||
|
||||
daifmt = snd_soc_of_parse_daifmt(node, NULL,
|
||||
&bitclkmaster, &framemaster);
|
||||
daifmt &= ~SND_SOC_DAIFMT_MASTER_MASK;
|
||||
|
||||
if (!bitclkmaster && !framemaster)
|
||||
return -EINVAL;
|
||||
|
||||
if (codec == bitclkmaster)
|
||||
daifmt |= (codec == framemaster) ?
|
||||
SND_SOC_DAIFMT_CBM_CFM : SND_SOC_DAIFMT_CBM_CFS;
|
||||
else
|
||||
daifmt |= (codec == framemaster) ?
|
||||
SND_SOC_DAIFMT_CBS_CFM : SND_SOC_DAIFMT_CBS_CFS;
|
||||
|
||||
cpu_dai->fmt = daifmt;
|
||||
codec_dai->fmt = daifmt;
|
||||
|
||||
of_node_put(bitclkmaster);
|
||||
of_node_put(framemaster);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
rsrc_card_sub_parse_of(struct rsrc_card_priv *priv,
|
||||
struct device_node *np,
|
||||
|
@ -266,41 +301,6 @@ rsrc_card_sub_parse_of(struct rsrc_card_priv *priv,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int rsrc_card_parse_daifmt(struct device_node *node,
|
||||
struct rsrc_card_priv *priv,
|
||||
struct device_node *codec,
|
||||
int idx)
|
||||
{
|
||||
struct device_node *bitclkmaster = NULL;
|
||||
struct device_node *framemaster = NULL;
|
||||
struct rsrc_card_dai_props *dai_props = rsrc_priv_to_props(priv, idx);
|
||||
struct rsrc_card_dai *cpu_dai = &dai_props->cpu_dai;
|
||||
struct rsrc_card_dai *codec_dai = &dai_props->codec_dai;
|
||||
unsigned int daifmt;
|
||||
|
||||
daifmt = snd_soc_of_parse_daifmt(node, NULL,
|
||||
&bitclkmaster, &framemaster);
|
||||
daifmt &= ~SND_SOC_DAIFMT_MASTER_MASK;
|
||||
|
||||
if (!bitclkmaster && !framemaster)
|
||||
return -EINVAL;
|
||||
|
||||
if (codec == bitclkmaster)
|
||||
daifmt |= (codec == framemaster) ?
|
||||
SND_SOC_DAIFMT_CBM_CFM : SND_SOC_DAIFMT_CBM_CFS;
|
||||
else
|
||||
daifmt |= (codec == framemaster) ?
|
||||
SND_SOC_DAIFMT_CBS_CFM : SND_SOC_DAIFMT_CBS_CFS;
|
||||
|
||||
cpu_dai->fmt = daifmt;
|
||||
codec_dai->fmt = daifmt;
|
||||
|
||||
of_node_put(bitclkmaster);
|
||||
of_node_put(framemaster);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rsrc_card_dai_link_of(struct device_node *node,
|
||||
struct rsrc_card_priv *priv,
|
||||
int idx)
|
||||
|
|
Loading…
Reference in New Issue