14302187dSTrevor Wu /* SPDX-License-Identifier: GPL-2.0 */ 24302187dSTrevor Wu /* 34302187dSTrevor Wu * mtk-soundcard-driver.h -- MediaTek soundcard driver common definition 44302187dSTrevor Wu * 54302187dSTrevor Wu * Copyright (c) 2022 MediaTek Inc. 64302187dSTrevor Wu * Author: Trevor Wu <trevor.wu@mediatek.com> 74302187dSTrevor Wu */ 84302187dSTrevor Wu 94302187dSTrevor Wu #ifndef _MTK_SOUNDCARD_DRIVER_H_ 104302187dSTrevor Wu #define _MTK_SOUNDCARD_DRIVER_H_ 114302187dSTrevor Wu 12*bce93a16SAngeloGioacchino Del Regno struct mtk_sof_priv; 13*bce93a16SAngeloGioacchino Del Regno struct mtk_soc_card_data; 14*bce93a16SAngeloGioacchino Del Regno 15*bce93a16SAngeloGioacchino Del Regno struct mtk_platform_card_data { 16*bce93a16SAngeloGioacchino Del Regno struct snd_soc_card *card; 17*bce93a16SAngeloGioacchino Del Regno struct snd_soc_jack *jacks; 18*bce93a16SAngeloGioacchino Del Regno u8 num_jacks; 19*bce93a16SAngeloGioacchino Del Regno u8 flags; 20*bce93a16SAngeloGioacchino Del Regno }; 21*bce93a16SAngeloGioacchino Del Regno 22*bce93a16SAngeloGioacchino Del Regno struct mtk_soundcard_pdata { 23*bce93a16SAngeloGioacchino Del Regno const char *card_name; 24*bce93a16SAngeloGioacchino Del Regno struct mtk_platform_card_data *card_data; 25*bce93a16SAngeloGioacchino Del Regno struct mtk_sof_priv *sof_priv; 26*bce93a16SAngeloGioacchino Del Regno int (*soc_probe)(struct mtk_soc_card_data *card_data, bool legacy); 27*bce93a16SAngeloGioacchino Del Regno }; 28*bce93a16SAngeloGioacchino Del Regno 294302187dSTrevor Wu int parse_dai_link_info(struct snd_soc_card *card); 304302187dSTrevor Wu void clean_card_reference(struct snd_soc_card *card); 31*bce93a16SAngeloGioacchino Del Regno int mtk_soundcard_common_probe(struct platform_device *pdev); 324302187dSTrevor Wu #endif 33