1 /* SPDX-License-Identifier: GPL-2.0
2  *
3  * Copyright (c) 2018 Baylibre SAS.
4  * Author: Jerome Brunet <jbrunet@baylibre.com>
5  */
6 
7 #ifndef _MESON_CODEC_GLUE_H
8 #define _MESON_CODEC_GLUE_H
9 
10 #include <sound/soc.h>
11 
12 struct meson_codec_glue_input {
13 	struct snd_soc_pcm_stream params;
14 	unsigned int fmt;
15 };
16 
17 /* Input helpers */
18 struct meson_codec_glue_input *
19 meson_codec_glue_input_get_data(struct snd_soc_dai *dai);
20 int meson_codec_glue_input_hw_params(struct snd_pcm_substream *substream,
21 				     struct snd_pcm_hw_params *params,
22 				     struct snd_soc_dai *dai);
23 int meson_codec_glue_input_set_fmt(struct snd_soc_dai *dai,
24 				   unsigned int fmt);
25 int meson_codec_glue_input_dai_probe(struct snd_soc_dai *dai);
26 int meson_codec_glue_input_dai_remove(struct snd_soc_dai *dai);
27 
28 /* Output helpers */
29 int meson_codec_glue_output_startup(struct snd_pcm_substream *substream,
30 				    struct snd_soc_dai *dai);
31 
32 #endif /* _MESON_CODEC_GLUE_H */
33