diff options
-rw-r--r-- | arch/arm/mach-pxa/include/mach/audio.h | 10 | ||||
-rw-r--r-- | include/sound/pxa2xx-lib.h | 15 | ||||
-rw-r--r-- | sound/arm/pxa2xx-ac97-lib.c | 2 |
3 files changed, 11 insertions, 16 deletions
diff --git a/arch/arm/mach-pxa/include/mach/audio.h b/arch/arm/mach-pxa/include/mach/audio.h index f82f96dd1053..16eb02552d5d 100644 --- a/arch/arm/mach-pxa/include/mach/audio.h +++ b/arch/arm/mach-pxa/include/mach/audio.h | |||
@@ -4,12 +4,22 @@ | |||
4 | #include <sound/core.h> | 4 | #include <sound/core.h> |
5 | #include <sound/pcm.h> | 5 | #include <sound/pcm.h> |
6 | 6 | ||
7 | /* | ||
8 | * @reset_gpio: AC97 reset gpio (normally gpio113 or gpio95) | ||
9 | * a -1 value means no gpio will be used for reset | ||
10 | |||
11 | * reset_gpio should only be specified for pxa27x CPUs where a silicon | ||
12 | * bug prevents correct operation of the reset line. If not specified, | ||
13 | * the default behaviour on these CPUs is to consider gpio 113 as the | ||
14 | * AC97 reset line, which is the default on most boards. | ||
15 | */ | ||
7 | typedef struct { | 16 | typedef struct { |
8 | int (*startup)(struct snd_pcm_substream *, void *); | 17 | int (*startup)(struct snd_pcm_substream *, void *); |
9 | void (*shutdown)(struct snd_pcm_substream *, void *); | 18 | void (*shutdown)(struct snd_pcm_substream *, void *); |
10 | void (*suspend)(void *); | 19 | void (*suspend)(void *); |
11 | void (*resume)(void *); | 20 | void (*resume)(void *); |
12 | void *priv; | 21 | void *priv; |
22 | int reset_gpio; | ||
13 | } pxa2xx_audio_ops_t; | 23 | } pxa2xx_audio_ops_t; |
14 | 24 | ||
15 | extern void pxa_set_ac97_info(pxa2xx_audio_ops_t *ops); | 25 | extern void pxa_set_ac97_info(pxa2xx_audio_ops_t *ops); |
diff --git a/include/sound/pxa2xx-lib.h b/include/sound/pxa2xx-lib.h index 2c894b600e5b..2fd3d251d9a5 100644 --- a/include/sound/pxa2xx-lib.h +++ b/include/sound/pxa2xx-lib.h | |||
@@ -42,19 +42,4 @@ extern int pxa2xx_ac97_hw_resume(void); | |||
42 | extern int pxa2xx_ac97_hw_probe(struct platform_device *dev); | 42 | extern int pxa2xx_ac97_hw_probe(struct platform_device *dev); |
43 | extern void pxa2xx_ac97_hw_remove(struct platform_device *dev); | 43 | extern void pxa2xx_ac97_hw_remove(struct platform_device *dev); |
44 | 44 | ||
45 | /* AC97 platform_data */ | ||
46 | /** | ||
47 | * struct pxa2xx_ac97_platform_data - pxa ac97 platform data | ||
48 | * @reset_gpio: AC97 reset gpio (normally gpio113 or gpio95) | ||
49 | * a -1 value means no gpio will be used for reset | ||
50 | * | ||
51 | * Platform data should only be specified for pxa27x CPUs where a silicon bug | ||
52 | * prevents correct operation of the reset line. If not specified, the default | ||
53 | * behaviour is to consider gpio 113 as the AC97 reset line, which is the | ||
54 | * default on most boards. | ||
55 | */ | ||
56 | struct pxa2xx_ac97_platform_data { | ||
57 | int reset_gpio; | ||
58 | }; | ||
59 | |||
60 | #endif | 45 | #endif |
diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c index 0afd1a8226fb..a2c12d105c9a 100644 --- a/sound/arm/pxa2xx-ac97-lib.c +++ b/sound/arm/pxa2xx-ac97-lib.c | |||
@@ -364,7 +364,7 @@ EXPORT_SYMBOL_GPL(pxa2xx_ac97_hw_resume); | |||
364 | int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev) | 364 | int __devinit pxa2xx_ac97_hw_probe(struct platform_device *dev) |
365 | { | 365 | { |
366 | int ret; | 366 | int ret; |
367 | struct pxa2xx_ac97_platform_data *pdata = dev->dev.platform_data; | 367 | pxa2xx_audio_ops_t *pdata = dev->dev.platform_data; |
368 | 368 | ||
369 | if (pdata) { | 369 | if (pdata) { |
370 | switch (pdata->reset_gpio) { | 370 | switch (pdata->reset_gpio) { |