diff options
Diffstat (limited to 'include/sound/soc-dapm.h')
-rw-r--r-- | include/sound/soc-dapm.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h index d26a9b784772..bfa0d3cbbf25 100644 --- a/include/sound/soc-dapm.h +++ b/include/sound/soc-dapm.h | |||
@@ -243,6 +243,10 @@ | |||
243 | { .id = snd_soc_dapm_supply, .name = wname, .reg = wreg, \ | 243 | { .id = snd_soc_dapm_supply, .name = wname, .reg = wreg, \ |
244 | .shift = wshift, .invert = winvert, .event = wevent, \ | 244 | .shift = wshift, .invert = winvert, .event = wevent, \ |
245 | .event_flags = wflags} | 245 | .event_flags = wflags} |
246 | #define SND_SOC_DAPM_REGULATOR_SUPPLY(wname, wdelay) \ | ||
247 | { .id = snd_soc_dapm_regulator_supply, .name = wname, \ | ||
248 | .reg = SND_SOC_NOPM, .shift = wdelay, .event = dapm_regulator_event, \ | ||
249 | .event_flags = SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD } | ||
246 | 250 | ||
247 | /* dapm kcontrol types */ | 251 | /* dapm kcontrol types */ |
248 | #define SOC_DAPM_SINGLE(xname, reg, shift, max, invert) \ | 252 | #define SOC_DAPM_SINGLE(xname, reg, shift, max, invert) \ |
@@ -322,6 +326,8 @@ struct snd_soc_dapm_context; | |||
322 | 326 | ||
323 | int dapm_reg_event(struct snd_soc_dapm_widget *w, | 327 | int dapm_reg_event(struct snd_soc_dapm_widget *w, |
324 | struct snd_kcontrol *kcontrol, int event); | 328 | struct snd_kcontrol *kcontrol, int event); |
329 | int dapm_regulator_event(struct snd_soc_dapm_widget *w, | ||
330 | struct snd_kcontrol *kcontrol, int event); | ||
325 | 331 | ||
326 | /* dapm controls */ | 332 | /* dapm controls */ |
327 | int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, | 333 | int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, |
@@ -411,6 +417,7 @@ enum snd_soc_dapm_type { | |||
411 | snd_soc_dapm_pre, /* machine specific pre widget - exec first */ | 417 | snd_soc_dapm_pre, /* machine specific pre widget - exec first */ |
412 | snd_soc_dapm_post, /* machine specific post widget - exec last */ | 418 | snd_soc_dapm_post, /* machine specific post widget - exec last */ |
413 | snd_soc_dapm_supply, /* power/clock supply */ | 419 | snd_soc_dapm_supply, /* power/clock supply */ |
420 | snd_soc_dapm_regulator_supply, /* external regulator */ | ||
414 | snd_soc_dapm_aif_in, /* audio interface input */ | 421 | snd_soc_dapm_aif_in, /* audio interface input */ |
415 | snd_soc_dapm_aif_out, /* audio interface output */ | 422 | snd_soc_dapm_aif_out, /* audio interface output */ |
416 | snd_soc_dapm_siggen, /* signal generator */ | 423 | snd_soc_dapm_siggen, /* signal generator */ |
@@ -465,6 +472,8 @@ struct snd_soc_dapm_widget { | |||
465 | struct list_head list; | 472 | struct list_head list; |
466 | struct snd_soc_dapm_context *dapm; | 473 | struct snd_soc_dapm_context *dapm; |
467 | 474 | ||
475 | void *priv; /* widget specific data */ | ||
476 | |||
468 | /* dapm control */ | 477 | /* dapm control */ |
469 | short reg; /* negative reg = no direct dapm */ | 478 | short reg; /* negative reg = no direct dapm */ |
470 | unsigned char shift; /* bits to shift */ | 479 | unsigned char shift; /* bits to shift */ |