diff options
Diffstat (limited to 'include/sound/soc.h')
| -rw-r--r-- | include/sound/soc.h | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index 1378dcd2128a..41cec42fb456 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
| @@ -1,13 +1,10 @@ | |||
| 1 | /* | 1 | /* SPDX-License-Identifier: GPL-2.0 |
| 2 | * | ||
| 2 | * linux/sound/soc.h -- ALSA SoC Layer | 3 | * linux/sound/soc.h -- ALSA SoC Layer |
| 3 | * | 4 | * |
| 4 | * Author: Liam Girdwood | 5 | * Author: Liam Girdwood |
| 5 | * Created: Aug 11th 2005 | 6 | * Created: Aug 11th 2005 |
| 6 | * Copyright: Wolfson Microelectronics. PLC. | 7 | * Copyright: Wolfson Microelectronics. PLC. |
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | */ | 8 | */ |
| 12 | 9 | ||
| 13 | #ifndef __LINUX_SND_SOC_H | 10 | #ifndef __LINUX_SND_SOC_H |
| @@ -806,6 +803,14 @@ struct snd_soc_component_driver { | |||
| 806 | unsigned int use_pmdown_time:1; /* care pmdown_time at stop */ | 803 | unsigned int use_pmdown_time:1; /* care pmdown_time at stop */ |
| 807 | unsigned int endianness:1; | 804 | unsigned int endianness:1; |
| 808 | unsigned int non_legacy_dai_naming:1; | 805 | unsigned int non_legacy_dai_naming:1; |
| 806 | |||
| 807 | /* this component uses topology and ignore machine driver FEs */ | ||
| 808 | const char *ignore_machine; | ||
| 809 | const char *topology_name_prefix; | ||
| 810 | int (*be_hw_params_fixup)(struct snd_soc_pcm_runtime *rtd, | ||
| 811 | struct snd_pcm_hw_params *params); | ||
| 812 | bool use_dai_pcm_id; /* use the DAI link PCM ID as PCM device number */ | ||
| 813 | int be_pcm_base; /* base device ID for all BE PCMs */ | ||
| 809 | }; | 814 | }; |
| 810 | 815 | ||
| 811 | struct snd_soc_component { | 816 | struct snd_soc_component { |
| @@ -957,10 +962,17 @@ struct snd_soc_dai_link { | |||
| 957 | 962 | ||
| 958 | /* DPCM used FE & BE merged format */ | 963 | /* DPCM used FE & BE merged format */ |
| 959 | unsigned int dpcm_merged_format:1; | 964 | unsigned int dpcm_merged_format:1; |
| 965 | /* DPCM used FE & BE merged channel */ | ||
| 966 | unsigned int dpcm_merged_chan:1; | ||
| 967 | /* DPCM used FE & BE merged rate */ | ||
| 968 | unsigned int dpcm_merged_rate:1; | ||
| 960 | 969 | ||
| 961 | /* pmdown_time is ignored at stop */ | 970 | /* pmdown_time is ignored at stop */ |
| 962 | unsigned int ignore_pmdown_time:1; | 971 | unsigned int ignore_pmdown_time:1; |
| 963 | 972 | ||
| 973 | /* Do not create a PCM for this DAI link (Backend link) */ | ||
| 974 | unsigned int ignore:1; | ||
| 975 | |||
| 964 | struct list_head list; /* DAI link list of the soc card */ | 976 | struct list_head list; /* DAI link list of the soc card */ |
| 965 | struct snd_soc_dobj dobj; /* For topology */ | 977 | struct snd_soc_dobj dobj; /* For topology */ |
| 966 | }; | 978 | }; |
| @@ -1000,6 +1012,7 @@ struct snd_soc_card { | |||
| 1000 | const char *long_name; | 1012 | const char *long_name; |
| 1001 | const char *driver_name; | 1013 | const char *driver_name; |
| 1002 | char dmi_longname[80]; | 1014 | char dmi_longname[80]; |
| 1015 | char topology_shortname[32]; | ||
| 1003 | 1016 | ||
| 1004 | struct device *dev; | 1017 | struct device *dev; |
| 1005 | struct snd_card *snd_card; | 1018 | struct snd_card *snd_card; |
| @@ -1009,6 +1022,7 @@ struct snd_soc_card { | |||
| 1009 | struct mutex dapm_mutex; | 1022 | struct mutex dapm_mutex; |
| 1010 | 1023 | ||
| 1011 | bool instantiated; | 1024 | bool instantiated; |
| 1025 | bool topology_shortname_created; | ||
| 1012 | 1026 | ||
| 1013 | int (*probe)(struct snd_soc_card *card); | 1027 | int (*probe)(struct snd_soc_card *card); |
| 1014 | int (*late_probe)(struct snd_soc_card *card); | 1028 | int (*late_probe)(struct snd_soc_card *card); |
| @@ -1412,6 +1426,9 @@ int snd_soc_of_parse_card_name(struct snd_soc_card *card, | |||
| 1412 | const char *propname); | 1426 | const char *propname); |
| 1413 | int snd_soc_of_parse_audio_simple_widgets(struct snd_soc_card *card, | 1427 | int snd_soc_of_parse_audio_simple_widgets(struct snd_soc_card *card, |
| 1414 | const char *propname); | 1428 | const char *propname); |
| 1429 | int snd_soc_of_get_slot_mask(struct device_node *np, | ||
| 1430 | const char *prop_name, | ||
| 1431 | unsigned int *mask); | ||
| 1415 | int snd_soc_of_parse_tdm_slot(struct device_node *np, | 1432 | int snd_soc_of_parse_tdm_slot(struct device_node *np, |
| 1416 | unsigned int *tx_mask, | 1433 | unsigned int *tx_mask, |
| 1417 | unsigned int *rx_mask, | 1434 | unsigned int *rx_mask, |
