blob: acf5735c2502f707b3302a9c71040350d897fed0 [file] [log] [blame]
Laxminath Kasamfb36dc12016-11-28 23:04:47 +05301/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002 *
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
Neeraj Upadhyay49934422016-12-27 19:03:35 +053013#ifndef __SDM660_EXTERNAL
14#define __SDM660_EXTERNAL
Banajit Goswami0530e2f2016-12-09 21:34:37 -080015
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);
33#ifdef CONFIG_SND_SOC_EXT_CODEC
34int msm_ext_cdc_init(struct platform_device *, struct msm_asoc_mach_data *,
35 struct snd_soc_card **, struct wcd_mbhc_config *);
Laxminath Kasam54dc88a2016-12-22 19:44:52 +053036void msm_ext_register_audio_notifier(struct platform_device *pdev);
Laxminath Kasamc1a8f7c2017-01-23 13:33:31 +053037void msm_ext_cdc_deinit(struct msm_asoc_mach_data *pdata);
Banajit Goswami0530e2f2016-12-09 21:34:37 -080038#else
39inline int msm_ext_cdc_init(struct platform_device *pdev,
40 struct msm_asoc_mach_data *pdata,
41 struct snd_soc_card **card,
42 struct wcd_mbhc_config *wcd_mbhc_cfg_ptr1)
43{
44 return 0;
45}
46
Laxminath Kasam54dc88a2016-12-22 19:44:52 +053047inline void msm_ext_register_audio_notifier(struct platform_device *pdev)
Banajit Goswami0530e2f2016-12-09 21:34:37 -080048{
49}
Laxminath Kasamfb36dc12016-11-28 23:04:47 +053050inline void msm_ext_cdc_deinit(void)
51{
52}
Banajit Goswami0530e2f2016-12-09 21:34:37 -080053#endif
54#endif