blob: b81e158be5f7be4c373eef02d23ffc0303c2bd07 [file] [log] [blame]
Asish Bhattacharya8e2277f2017-07-20 18:31:55 +05301/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#ifndef __SDM660_EXTERNAL
14#define __SDM660_EXTERNAL
15
16int msm_snd_hw_params(struct snd_pcm_substream *substream,
17 struct snd_pcm_hw_params *params);
18int msm_ext_slimbus_2_hw_params(struct snd_pcm_substream *substream,
19 struct snd_pcm_hw_params *params);
20int msm_btsco_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
21 struct snd_pcm_hw_params *params);
22int msm_proxy_rx_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
23 struct snd_pcm_hw_params *params);
24int msm_proxy_tx_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
25 struct snd_pcm_hw_params *params);
26int msm_audrx_init(struct snd_soc_pcm_runtime *rtd);
27int msm_snd_cpe_hw_params(struct snd_pcm_substream *substream,
28 struct snd_pcm_hw_params *params);
29struct snd_soc_card *populate_snd_card_dailinks(struct device *dev,
30 int snd_card_val);
31int msm_ext_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
32 struct snd_pcm_hw_params *params);
Laxminath Kasam38070be2017-08-17 18:21:59 +053033int msm_snd_card_tavil_late_probe(struct snd_soc_card *card);
34int msm_snd_card_tasha_late_probe(struct snd_soc_card *card);
Meng Wangf74efd82017-09-27 11:24:55 +080035#if IS_ENABLED(CONFIG_SND_SOC_EXT_CODEC)
Asish Bhattacharya8e2277f2017-07-20 18:31:55 +053036int msm_ext_cdc_init(struct platform_device *, struct msm_asoc_mach_data *,
37 struct snd_soc_card **, struct wcd_mbhc_config *);
38void msm_ext_register_audio_notifier(struct platform_device *pdev);
Asish Bhattacharya8e2277f2017-07-20 18:31:55 +053039#else
40inline int msm_ext_cdc_init(struct platform_device *pdev,
41 struct msm_asoc_mach_data *pdata,
42 struct snd_soc_card **card,
43 struct wcd_mbhc_config *wcd_mbhc_cfg_ptr1)
44{
45 return 0;
46}
47
48inline void msm_ext_register_audio_notifier(struct platform_device *pdev)
49{
50}
Asish Bhattacharya8e2277f2017-07-20 18:31:55 +053051#endif
52#endif