aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc-dai.h7
-rw-r--r--include/sound/soc-dapm.h1
-rw-r--r--include/sound/soc.h14
-rw-r--r--include/sound/wm8960.h24
4 files changed, 41 insertions, 5 deletions
diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
index 061f16d4c878..6cf76a41501e 100644
--- a/include/sound/soc-dai.h
+++ b/include/sound/soc-dai.h
@@ -182,6 +182,12 @@ struct snd_soc_dai_ops {
182 struct snd_soc_dai *); 182 struct snd_soc_dai *);
183 int (*trigger)(struct snd_pcm_substream *, int, 183 int (*trigger)(struct snd_pcm_substream *, int,
184 struct snd_soc_dai *); 184 struct snd_soc_dai *);
185 /*
186 * For hardware based FIFO caused delay reporting.
187 * Optional.
188 */
189 snd_pcm_sframes_t (*delay)(struct snd_pcm_substream *,
190 struct snd_soc_dai *);
185}; 191};
186 192
187/* 193/*
@@ -215,7 +221,6 @@ struct snd_soc_dai {
215 unsigned int symmetric_rates:1; 221 unsigned int symmetric_rates:1;
216 222
217 /* DAI runtime info */ 223 /* DAI runtime info */
218 struct snd_pcm_runtime *runtime;
219 struct snd_soc_codec *codec; 224 struct snd_soc_codec *codec;
220 unsigned int active; 225 unsigned int active;
221 unsigned char pop_wait:1; 226 unsigned char pop_wait:1;
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index c0922a034223..2c8eb0a331c1 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -427,7 +427,6 @@ struct snd_soc_dapm_widget {
427 unsigned char ext:1; /* has external widgets */ 427 unsigned char ext:1; /* has external widgets */
428 unsigned char muted:1; /* muted for pop reduction */ 428 unsigned char muted:1; /* muted for pop reduction */
429 unsigned char suspend:1; /* was active before suspend */ 429 unsigned char suspend:1; /* was active before suspend */
430 unsigned char pmdown:1; /* waiting for timeout */
431 430
432 int (*power_check)(struct snd_soc_dapm_widget *w); 431 int (*power_check)(struct snd_soc_dapm_widget *w);
433 432
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 5d234a8c2506..dbfec16015de 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -212,6 +212,7 @@ struct snd_soc_dai_mode;
212struct snd_soc_pcm_runtime; 212struct snd_soc_pcm_runtime;
213struct snd_soc_dai; 213struct snd_soc_dai;
214struct snd_soc_platform; 214struct snd_soc_platform;
215struct snd_soc_dai_link;
215struct snd_soc_codec; 216struct snd_soc_codec;
216struct soc_enum; 217struct soc_enum;
217struct snd_soc_ac97_ops; 218struct snd_soc_ac97_ops;
@@ -374,7 +375,7 @@ struct snd_soc_pcm_stream {
374 unsigned int rate_max; /* max rate */ 375 unsigned int rate_max; /* max rate */
375 unsigned int channels_min; /* min channels */ 376 unsigned int channels_min; /* min channels */
376 unsigned int channels_max; /* max channels */ 377 unsigned int channels_max; /* max channels */
377 unsigned int active:1; /* stream is in use */ 378 unsigned int active; /* num of active users of the stream */
378}; 379};
379 380
380/* SoC audio ops */ 381/* SoC audio ops */
@@ -461,14 +462,21 @@ struct snd_soc_platform {
461 462
462 int (*probe)(struct platform_device *pdev); 463 int (*probe)(struct platform_device *pdev);
463 int (*remove)(struct platform_device *pdev); 464 int (*remove)(struct platform_device *pdev);
464 int (*suspend)(struct snd_soc_dai *dai); 465 int (*suspend)(struct snd_soc_dai_link *dai_link);
465 int (*resume)(struct snd_soc_dai *dai); 466 int (*resume)(struct snd_soc_dai_link *dai_link);
466 467
467 /* pcm creation and destruction */ 468 /* pcm creation and destruction */
468 int (*pcm_new)(struct snd_card *, struct snd_soc_dai *, 469 int (*pcm_new)(struct snd_card *, struct snd_soc_dai *,
469 struct snd_pcm *); 470 struct snd_pcm *);
470 void (*pcm_free)(struct snd_pcm *); 471 void (*pcm_free)(struct snd_pcm *);
471 472
473 /*
474 * For platform caused delay reporting.
475 * Optional.
476 */
477 snd_pcm_sframes_t (*delay)(struct snd_pcm_substream *,
478 struct snd_soc_dai *);
479
472 /* platform stream ops */ 480 /* platform stream ops */
473 struct snd_pcm_ops *pcm_ops; 481 struct snd_pcm_ops *pcm_ops;
474}; 482};
diff --git a/include/sound/wm8960.h b/include/sound/wm8960.h
new file mode 100644
index 000000000000..74e9a95529c5
--- /dev/null
+++ b/include/sound/wm8960.h
@@ -0,0 +1,24 @@
1/*
2 * wm8960.h -- WM8960 Soc Audio driver platform data
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef _WM8960_PDATA_H
10#define _WM8960_PDATA_H
11
12#define WM8960_DRES_400R 0
13#define WM8960_DRES_200R 1
14#define WM8960_DRES_600R 2
15#define WM8960_DRES_150R 3
16#define WM8960_DRES_MAX 3
17
18struct wm8960_data {
19 bool capless; /* Headphone outputs configured in capless mode */
20
21 int dres; /* Discharge resistance for headphone outputs */
22};
23
24#endif