mirror of https://gitee.com/openkylin/linux.git
ASoC: simple-card-utils: add asoc_simple_card_init_dai()
simple-card is supporting clock/tdm slot initialization. This patch makes this method simple style standard. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
c3b19c8dd0
commit
21ba62f849
|
@ -58,4 +58,6 @@ int asoc_simple_card_parse_dai(struct device_node *node,
|
|||
const char *cells_name,
|
||||
int *is_single_links);
|
||||
|
||||
int asoc_simple_card_init_dai(struct snd_soc_dai *dai,
|
||||
struct asoc_simple_dai *simple_dai);
|
||||
#endif /* __SIMPLE_CARD_CORE_H */
|
||||
|
|
|
@ -164,6 +164,35 @@ int asoc_simple_card_parse_dai(struct device_node *node,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(asoc_simple_card_parse_dai);
|
||||
|
||||
int asoc_simple_card_init_dai(struct snd_soc_dai *dai,
|
||||
struct asoc_simple_dai *simple_dai)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (simple_dai->sysclk) {
|
||||
ret = snd_soc_dai_set_sysclk(dai, 0, simple_dai->sysclk, 0);
|
||||
if (ret && ret != -ENOTSUPP) {
|
||||
dev_err(dai->dev, "simple-card: set_sysclk error\n");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
if (simple_dai->slots) {
|
||||
ret = snd_soc_dai_set_tdm_slot(dai,
|
||||
simple_dai->tx_slot_mask,
|
||||
simple_dai->rx_slot_mask,
|
||||
simple_dai->slots,
|
||||
simple_dai->slot_width);
|
||||
if (ret && ret != -ENOTSUPP) {
|
||||
dev_err(dai->dev, "simple-card: set_tdm_slot error\n");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(asoc_simple_card_init_dai);
|
||||
|
||||
/* Module information */
|
||||
MODULE_AUTHOR("Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>");
|
||||
MODULE_DESCRIPTION("ALSA SoC Simple Card Utils");
|
||||
|
|
Loading…
Reference in New Issue