diff options
Diffstat (limited to 'include/sound/soc-dapm.h')
-rw-r--r-- | include/sound/soc-dapm.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h index e3833d9f1914..abe373d57adc 100644 --- a/include/sound/soc-dapm.h +++ b/include/sound/soc-dapm.h | |||
@@ -229,6 +229,10 @@ struct device; | |||
229 | { .id = snd_soc_dapm_adc, .name = wname, .sname = stname, .reg = wreg, \ | 229 | { .id = snd_soc_dapm_adc, .name = wname, .sname = stname, .reg = wreg, \ |
230 | .shift = wshift, .invert = winvert, \ | 230 | .shift = wshift, .invert = winvert, \ |
231 | .event = wevent, .event_flags = wflags} | 231 | .event = wevent, .event_flags = wflags} |
232 | #define SND_SOC_DAPM_CLOCK_SUPPLY(wname) \ | ||
233 | { .id = snd_soc_dapm_clock_supply, .name = wname, \ | ||
234 | .reg = SND_SOC_NOPM, .event = dapm_clock_event, \ | ||
235 | .event_flags = SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD } | ||
232 | 236 | ||
233 | /* generic widgets */ | 237 | /* generic widgets */ |
234 | #define SND_SOC_DAPM_REG(wid, wname, wreg, wshift, wmask, won_val, woff_val) \ | 238 | #define SND_SOC_DAPM_REG(wid, wname, wreg, wshift, wmask, won_val, woff_val) \ |
@@ -245,6 +249,7 @@ struct device; | |||
245 | .reg = SND_SOC_NOPM, .shift = wdelay, .event = dapm_regulator_event, \ | 249 | .reg = SND_SOC_NOPM, .shift = wdelay, .event = dapm_regulator_event, \ |
246 | .event_flags = SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD } | 250 | .event_flags = SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD } |
247 | 251 | ||
252 | |||
248 | /* dapm kcontrol types */ | 253 | /* dapm kcontrol types */ |
249 | #define SOC_DAPM_SINGLE(xname, reg, shift, max, invert) \ | 254 | #define SOC_DAPM_SINGLE(xname, reg, shift, max, invert) \ |
250 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ | 255 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ |
@@ -327,6 +332,8 @@ int dapm_reg_event(struct snd_soc_dapm_widget *w, | |||
327 | struct snd_kcontrol *kcontrol, int event); | 332 | struct snd_kcontrol *kcontrol, int event); |
328 | int dapm_regulator_event(struct snd_soc_dapm_widget *w, | 333 | int dapm_regulator_event(struct snd_soc_dapm_widget *w, |
329 | struct snd_kcontrol *kcontrol, int event); | 334 | struct snd_kcontrol *kcontrol, int event); |
335 | int dapm_clock_event(struct snd_soc_dapm_widget *w, | ||
336 | struct snd_kcontrol *kcontrol, int event); | ||
330 | 337 | ||
331 | /* dapm controls */ | 338 | /* dapm controls */ |
332 | int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, | 339 | int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, |
@@ -367,6 +374,8 @@ int snd_soc_dapm_new_widgets(struct snd_soc_dapm_context *dapm); | |||
367 | void snd_soc_dapm_free(struct snd_soc_dapm_context *dapm); | 374 | void snd_soc_dapm_free(struct snd_soc_dapm_context *dapm); |
368 | int snd_soc_dapm_add_routes(struct snd_soc_dapm_context *dapm, | 375 | int snd_soc_dapm_add_routes(struct snd_soc_dapm_context *dapm, |
369 | const struct snd_soc_dapm_route *route, int num); | 376 | const struct snd_soc_dapm_route *route, int num); |
377 | int snd_soc_dapm_del_routes(struct snd_soc_dapm_context *dapm, | ||
378 | const struct snd_soc_dapm_route *route, int num); | ||
370 | int snd_soc_dapm_weak_routes(struct snd_soc_dapm_context *dapm, | 379 | int snd_soc_dapm_weak_routes(struct snd_soc_dapm_context *dapm, |
371 | const struct snd_soc_dapm_route *route, int num); | 380 | const struct snd_soc_dapm_route *route, int num); |
372 | 381 | ||
@@ -432,6 +441,7 @@ enum snd_soc_dapm_type { | |||
432 | snd_soc_dapm_post, /* machine specific post widget - exec last */ | 441 | snd_soc_dapm_post, /* machine specific post widget - exec last */ |
433 | snd_soc_dapm_supply, /* power/clock supply */ | 442 | snd_soc_dapm_supply, /* power/clock supply */ |
434 | snd_soc_dapm_regulator_supply, /* external regulator */ | 443 | snd_soc_dapm_regulator_supply, /* external regulator */ |
444 | snd_soc_dapm_clock_supply, /* external clock */ | ||
435 | snd_soc_dapm_aif_in, /* audio interface input */ | 445 | snd_soc_dapm_aif_in, /* audio interface input */ |
436 | snd_soc_dapm_aif_out, /* audio interface output */ | 446 | snd_soc_dapm_aif_out, /* audio interface output */ |
437 | snd_soc_dapm_siggen, /* signal generator */ | 447 | snd_soc_dapm_siggen, /* signal generator */ |
@@ -537,6 +547,8 @@ struct snd_soc_dapm_widget { | |||
537 | struct list_head dirty; | 547 | struct list_head dirty; |
538 | int inputs; | 548 | int inputs; |
539 | int outputs; | 549 | int outputs; |
550 | |||
551 | struct clk *clk; | ||
540 | }; | 552 | }; |
541 | 553 | ||
542 | struct snd_soc_dapm_update { | 554 | struct snd_soc_dapm_update { |