Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21ba62f8 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

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: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent c3b19c8d
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -58,4 +58,6 @@ int asoc_simple_card_parse_dai(struct device_node *node,
				  const char *cells_name,
				  const char *cells_name,
				  int *is_single_links);
				  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 */
#endif /* __SIMPLE_CARD_CORE_H */
+29 −0
Original line number Original line Diff line number Diff line
@@ -164,6 +164,35 @@ int asoc_simple_card_parse_dai(struct device_node *node,
}
}
EXPORT_SYMBOL_GPL(asoc_simple_card_parse_dai);
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 information */
MODULE_AUTHOR("Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>");
MODULE_AUTHOR("Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>");
MODULE_DESCRIPTION("ALSA SoC Simple Card Utils");
MODULE_DESCRIPTION("ALSA SoC Simple Card Utils");