.. | .. |
---|
103 | 103 | int trigger_pending; /* trigger cmd + 1 if pending, 0 if not */ |
---|
104 | 104 | }; |
---|
105 | 105 | |
---|
| 106 | +#define for_each_dpcm_fe(be, stream, _dpcm) \ |
---|
| 107 | + list_for_each_entry(_dpcm, &(be)->dpcm[stream].fe_clients, list_fe) |
---|
| 108 | + |
---|
| 109 | +#define for_each_dpcm_be(fe, stream, _dpcm) \ |
---|
| 110 | + list_for_each_entry(_dpcm, &(fe)->dpcm[stream].be_clients, list_be) |
---|
| 111 | +#define for_each_dpcm_be_safe(fe, stream, _dpcm, __dpcm) \ |
---|
| 112 | + list_for_each_entry_safe(_dpcm, __dpcm, &(fe)->dpcm[stream].be_clients, list_be) |
---|
| 113 | +#define for_each_dpcm_be_rollback(fe, stream, _dpcm) \ |
---|
| 114 | + list_for_each_entry_continue_reverse(_dpcm, &(fe)->dpcm[stream].be_clients, list_be) |
---|
| 115 | + |
---|
106 | 116 | /* can this BE stop and free */ |
---|
107 | 117 | int snd_soc_dpcm_can_be_free_stop(struct snd_soc_pcm_runtime *fe, |
---|
108 | 118 | struct snd_soc_pcm_runtime *be, int stream); |
---|
.. | .. |
---|
122 | 132 | struct snd_pcm_substream * |
---|
123 | 133 | snd_soc_dpcm_get_substream(struct snd_soc_pcm_runtime *be, int stream); |
---|
124 | 134 | |
---|
125 | | -/* get the BE runtime state */ |
---|
126 | | -enum snd_soc_dpcm_state |
---|
127 | | - snd_soc_dpcm_be_get_state(struct snd_soc_pcm_runtime *be, int stream); |
---|
| 135 | +/* update audio routing between PCMs and any DAI links */ |
---|
| 136 | +int snd_soc_dpcm_runtime_update(struct snd_soc_card *card); |
---|
128 | 137 | |
---|
129 | | -/* set the BE runtime state */ |
---|
130 | | -void snd_soc_dpcm_be_set_state(struct snd_soc_pcm_runtime *be, int stream, |
---|
131 | | - enum snd_soc_dpcm_state state); |
---|
132 | | - |
---|
133 | | -/* internal use only */ |
---|
134 | | -int soc_dpcm_be_digital_mute(struct snd_soc_pcm_runtime *fe, int mute); |
---|
| 138 | +#ifdef CONFIG_DEBUG_FS |
---|
135 | 139 | void soc_dpcm_debugfs_add(struct snd_soc_pcm_runtime *rtd); |
---|
136 | | -int soc_dpcm_runtime_update(struct snd_soc_card *); |
---|
| 140 | +#else |
---|
| 141 | +static inline void soc_dpcm_debugfs_add(struct snd_soc_pcm_runtime *rtd) |
---|
| 142 | +{ |
---|
| 143 | +} |
---|
| 144 | +#endif |
---|
137 | 145 | |
---|
138 | 146 | int dpcm_path_get(struct snd_soc_pcm_runtime *fe, |
---|
139 | 147 | int stream, struct snd_soc_dapm_widget_list **list_); |
---|
| 148 | +void dpcm_path_put(struct snd_soc_dapm_widget_list **list); |
---|
140 | 149 | int dpcm_process_paths(struct snd_soc_pcm_runtime *fe, |
---|
141 | 150 | int stream, struct snd_soc_dapm_widget_list **list, int new); |
---|
142 | 151 | int dpcm_be_dai_startup(struct snd_soc_pcm_runtime *fe, int stream); |
---|
.. | .. |
---|
149 | 158 | int dpcm_be_dai_prepare(struct snd_soc_pcm_runtime *fe, int stream); |
---|
150 | 159 | int dpcm_dapm_stream_event(struct snd_soc_pcm_runtime *fe, int dir, |
---|
151 | 160 | int event); |
---|
152 | | - |
---|
153 | | -static inline void dpcm_path_put(struct snd_soc_dapm_widget_list **list) |
---|
154 | | -{ |
---|
155 | | - kfree(*list); |
---|
156 | | -} |
---|
157 | | - |
---|
158 | 161 | |
---|
159 | 162 | #endif |
---|