diff options
| -rw-r--r-- | Documentation/sound/alsa/soc/machine.txt | 6 | ||||
| -rw-r--r-- | sound/soc/codecs/uda1380.c | 4 | ||||
| -rw-r--r-- | sound/soc/codecs/wm8994.c | 12 | ||||
| -rw-r--r-- | sound/soc/imx/Kconfig | 2 | ||||
| -rw-r--r-- | sound/soc/kirkwood/Kconfig | 3 | ||||
| -rw-r--r-- | sound/soc/pxa/Kconfig | 3 | ||||
| -rw-r--r-- | sound/soc/soc-utils.c | 31 |
7 files changed, 45 insertions, 16 deletions
diff --git a/Documentation/sound/alsa/soc/machine.txt b/Documentation/sound/alsa/soc/machine.txt index 3e2ec9cbf397..d50c14df3411 100644 --- a/Documentation/sound/alsa/soc/machine.txt +++ b/Documentation/sound/alsa/soc/machine.txt | |||
| @@ -50,8 +50,7 @@ Machine DAI Configuration | |||
| 50 | The machine DAI configuration glues all the codec and CPU DAIs together. It can | 50 | The machine DAI configuration glues all the codec and CPU DAIs together. It can |
| 51 | also be used to set up the DAI system clock and for any machine related DAI | 51 | also be used to set up the DAI system clock and for any machine related DAI |
| 52 | initialisation e.g. the machine audio map can be connected to the codec audio | 52 | initialisation e.g. the machine audio map can be connected to the codec audio |
| 53 | map, unconnected codec pins can be set as such. Please see corgi.c, spitz.c | 53 | map, unconnected codec pins can be set as such. |
| 54 | for examples. | ||
| 55 | 54 | ||
| 56 | struct snd_soc_dai_link is used to set up each DAI in your machine. e.g. | 55 | struct snd_soc_dai_link is used to set up each DAI in your machine. e.g. |
| 57 | 56 | ||
| @@ -83,8 +82,7 @@ Machine Power Map | |||
| 83 | The machine driver can optionally extend the codec power map and to become an | 82 | The machine driver can optionally extend the codec power map and to become an |
| 84 | audio power map of the audio subsystem. This allows for automatic power up/down | 83 | audio power map of the audio subsystem. This allows for automatic power up/down |
| 85 | of speaker/HP amplifiers, etc. Codec pins can be connected to the machines jack | 84 | of speaker/HP amplifiers, etc. Codec pins can be connected to the machines jack |
| 86 | sockets in the machine init function. See soc/pxa/spitz.c and dapm.txt for | 85 | sockets in the machine init function. |
| 87 | details. | ||
| 88 | 86 | ||
| 89 | 87 | ||
| 90 | Machine Controls | 88 | Machine Controls |
diff --git a/sound/soc/codecs/uda1380.c b/sound/soc/codecs/uda1380.c index c5ca8cfea60f..0441893e270e 100644 --- a/sound/soc/codecs/uda1380.c +++ b/sound/soc/codecs/uda1380.c | |||
| @@ -863,13 +863,13 @@ static struct i2c_driver uda1380_i2c_driver = { | |||
| 863 | 863 | ||
| 864 | static int __init uda1380_modinit(void) | 864 | static int __init uda1380_modinit(void) |
| 865 | { | 865 | { |
| 866 | int ret; | 866 | int ret = 0; |
| 867 | #if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) | 867 | #if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) |
| 868 | ret = i2c_add_driver(&uda1380_i2c_driver); | 868 | ret = i2c_add_driver(&uda1380_i2c_driver); |
| 869 | if (ret != 0) | 869 | if (ret != 0) |
| 870 | pr_err("Failed to register UDA1380 I2C driver: %d\n", ret); | 870 | pr_err("Failed to register UDA1380 I2C driver: %d\n", ret); |
| 871 | #endif | 871 | #endif |
| 872 | return 0; | 872 | return ret; |
| 873 | } | 873 | } |
| 874 | module_init(uda1380_modinit); | 874 | module_init(uda1380_modinit); |
| 875 | 875 | ||
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 6c2988549003..d0c545b73d78 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c | |||
| @@ -1325,15 +1325,15 @@ SND_SOC_DAPM_DAC("DAC1R", NULL, WM8994_POWER_MANAGEMENT_5, 0, 0), | |||
| 1325 | }; | 1325 | }; |
| 1326 | 1326 | ||
| 1327 | static const struct snd_soc_dapm_widget wm8994_adc_revd_widgets[] = { | 1327 | static const struct snd_soc_dapm_widget wm8994_adc_revd_widgets[] = { |
| 1328 | SND_SOC_DAPM_MUX_E("ADCL Mux", WM8994_POWER_MANAGEMENT_4, 1, 0, &adcl_mux, | 1328 | SND_SOC_DAPM_VIRT_MUX_E("ADCL Mux", WM8994_POWER_MANAGEMENT_4, 1, 0, &adcl_mux, |
| 1329 | adc_mux_ev, SND_SOC_DAPM_PRE_PMU), | 1329 | adc_mux_ev, SND_SOC_DAPM_PRE_PMU), |
| 1330 | SND_SOC_DAPM_MUX_E("ADCR Mux", WM8994_POWER_MANAGEMENT_4, 0, 0, &adcr_mux, | 1330 | SND_SOC_DAPM_VIRT_MUX_E("ADCR Mux", WM8994_POWER_MANAGEMENT_4, 0, 0, &adcr_mux, |
| 1331 | adc_mux_ev, SND_SOC_DAPM_PRE_PMU), | 1331 | adc_mux_ev, SND_SOC_DAPM_PRE_PMU), |
| 1332 | }; | 1332 | }; |
| 1333 | 1333 | ||
| 1334 | static const struct snd_soc_dapm_widget wm8994_adc_widgets[] = { | 1334 | static const struct snd_soc_dapm_widget wm8994_adc_widgets[] = { |
| 1335 | SND_SOC_DAPM_MUX("ADCL Mux", WM8994_POWER_MANAGEMENT_4, 1, 0, &adcl_mux), | 1335 | SND_SOC_DAPM_VIRT_MUX("ADCL Mux", WM8994_POWER_MANAGEMENT_4, 1, 0, &adcl_mux), |
| 1336 | SND_SOC_DAPM_MUX("ADCR Mux", WM8994_POWER_MANAGEMENT_4, 0, 0, &adcr_mux), | 1336 | SND_SOC_DAPM_VIRT_MUX("ADCR Mux", WM8994_POWER_MANAGEMENT_4, 0, 0, &adcr_mux), |
| 1337 | }; | 1337 | }; |
| 1338 | 1338 | ||
| 1339 | static const struct snd_soc_dapm_widget wm8994_dapm_widgets[] = { | 1339 | static const struct snd_soc_dapm_widget wm8994_dapm_widgets[] = { |
diff --git a/sound/soc/imx/Kconfig b/sound/soc/imx/Kconfig index b133bfcc5848..738391757f2c 100644 --- a/sound/soc/imx/Kconfig +++ b/sound/soc/imx/Kconfig | |||
| @@ -28,7 +28,7 @@ config SND_MXC_SOC_WM1133_EV1 | |||
| 28 | 28 | ||
| 29 | config SND_SOC_MX27VIS_AIC32X4 | 29 | config SND_SOC_MX27VIS_AIC32X4 |
| 30 | tristate "SoC audio support for Visstrim M10 boards" | 30 | tristate "SoC audio support for Visstrim M10 boards" |
| 31 | depends on MACH_IMX27_VISSTRIM_M10 | 31 | depends on MACH_IMX27_VISSTRIM_M10 && I2C |
| 32 | select SND_SOC_TLV320AIC32X4 | 32 | select SND_SOC_TLV320AIC32X4 |
| 33 | select SND_MXC_SOC_MX2 | 33 | select SND_MXC_SOC_MX2 |
| 34 | help | 34 | help |
diff --git a/sound/soc/kirkwood/Kconfig b/sound/soc/kirkwood/Kconfig index 8f49e165f4d1..c62d715235e2 100644 --- a/sound/soc/kirkwood/Kconfig +++ b/sound/soc/kirkwood/Kconfig | |||
| @@ -12,6 +12,7 @@ config SND_KIRKWOOD_SOC_I2S | |||
| 12 | config SND_KIRKWOOD_SOC_OPENRD | 12 | config SND_KIRKWOOD_SOC_OPENRD |
| 13 | tristate "SoC Audio support for Kirkwood Openrd Client" | 13 | tristate "SoC Audio support for Kirkwood Openrd Client" |
| 14 | depends on SND_KIRKWOOD_SOC && (MACH_OPENRD_CLIENT || MACH_OPENRD_ULTIMATE) | 14 | depends on SND_KIRKWOOD_SOC && (MACH_OPENRD_CLIENT || MACH_OPENRD_ULTIMATE) |
| 15 | depends on I2C | ||
| 15 | select SND_KIRKWOOD_SOC_I2S | 16 | select SND_KIRKWOOD_SOC_I2S |
| 16 | select SND_SOC_CS42L51 | 17 | select SND_SOC_CS42L51 |
| 17 | help | 18 | help |
| @@ -20,7 +21,7 @@ config SND_KIRKWOOD_SOC_OPENRD | |||
| 20 | 21 | ||
| 21 | config SND_KIRKWOOD_SOC_T5325 | 22 | config SND_KIRKWOOD_SOC_T5325 |
| 22 | tristate "SoC Audio support for HP t5325" | 23 | tristate "SoC Audio support for HP t5325" |
| 23 | depends on SND_KIRKWOOD_SOC && MACH_T5325 | 24 | depends on SND_KIRKWOOD_SOC && MACH_T5325 && I2C |
| 24 | select SND_KIRKWOOD_SOC_I2S | 25 | select SND_KIRKWOOD_SOC_I2S |
| 25 | select SND_SOC_ALC5623 | 26 | select SND_SOC_ALC5623 |
| 26 | help | 27 | help |
diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig index ffd2242e305f..a0f7d3cfa470 100644 --- a/sound/soc/pxa/Kconfig +++ b/sound/soc/pxa/Kconfig | |||
| @@ -151,6 +151,7 @@ config SND_SOC_ZYLONITE | |||
| 151 | config SND_SOC_RAUMFELD | 151 | config SND_SOC_RAUMFELD |
| 152 | tristate "SoC Audio support Raumfeld audio adapter" | 152 | tristate "SoC Audio support Raumfeld audio adapter" |
| 153 | depends on SND_PXA2XX_SOC && (MACH_RAUMFELD_SPEAKER || MACH_RAUMFELD_CONNECTOR) | 153 | depends on SND_PXA2XX_SOC && (MACH_RAUMFELD_SPEAKER || MACH_RAUMFELD_CONNECTOR) |
| 154 | depends on I2C && SPI_MASTER | ||
| 154 | select SND_PXA_SOC_SSP | 155 | select SND_PXA_SOC_SSP |
| 155 | select SND_SOC_CS4270 | 156 | select SND_SOC_CS4270 |
| 156 | select SND_SOC_AK4104 | 157 | select SND_SOC_AK4104 |
| @@ -159,7 +160,7 @@ config SND_SOC_RAUMFELD | |||
| 159 | 160 | ||
| 160 | config SND_PXA2XX_SOC_HX4700 | 161 | config SND_PXA2XX_SOC_HX4700 |
| 161 | tristate "SoC Audio support for HP iPAQ hx4700" | 162 | tristate "SoC Audio support for HP iPAQ hx4700" |
| 162 | depends on SND_PXA2XX_SOC && MACH_H4700 | 163 | depends on SND_PXA2XX_SOC && MACH_H4700 && I2C |
| 163 | select SND_PXA2XX_SOC_I2S | 164 | select SND_PXA2XX_SOC_I2S |
| 164 | select SND_SOC_AK4641 | 165 | select SND_SOC_AK4641 |
| 165 | help | 166 | help |
diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c index 0c12b98484bd..4220bb0f2730 100644 --- a/sound/soc/soc-utils.c +++ b/sound/soc/soc-utils.c | |||
| @@ -58,7 +58,36 @@ int snd_soc_params_to_bclk(struct snd_pcm_hw_params *params) | |||
| 58 | } | 58 | } |
| 59 | EXPORT_SYMBOL_GPL(snd_soc_params_to_bclk); | 59 | EXPORT_SYMBOL_GPL(snd_soc_params_to_bclk); |
| 60 | 60 | ||
| 61 | static struct snd_soc_platform_driver dummy_platform; | 61 | static const struct snd_pcm_hardware dummy_dma_hardware = { |
| 62 | .formats = 0xffffffff, | ||
| 63 | .channels_min = 1, | ||
| 64 | .channels_max = UINT_MAX, | ||
| 65 | |||
| 66 | /* Random values to keep userspace happy when checking constraints */ | ||
| 67 | .info = SNDRV_PCM_INFO_INTERLEAVED | | ||
| 68 | SNDRV_PCM_INFO_BLOCK_TRANSFER, | ||
| 69 | .buffer_bytes_max = 128*1024, | ||
| 70 | .period_bytes_min = PAGE_SIZE, | ||
| 71 | .period_bytes_max = PAGE_SIZE*2, | ||
| 72 | .periods_min = 2, | ||
| 73 | .periods_max = 128, | ||
| 74 | }; | ||
| 75 | |||
| 76 | static int dummy_dma_open(struct snd_pcm_substream *substream) | ||
| 77 | { | ||
| 78 | snd_soc_set_runtime_hwparams(substream, &dummy_dma_hardware); | ||
| 79 | |||
| 80 | return 0; | ||
| 81 | } | ||
| 82 | |||
| 83 | static struct snd_pcm_ops dummy_dma_ops = { | ||
| 84 | .open = dummy_dma_open, | ||
| 85 | .ioctl = snd_pcm_lib_ioctl, | ||
| 86 | }; | ||
| 87 | |||
| 88 | static struct snd_soc_platform_driver dummy_platform = { | ||
| 89 | .ops = &dummy_dma_ops, | ||
| 90 | }; | ||
| 62 | 91 | ||
| 63 | static __devinit int snd_soc_dummy_probe(struct platform_device *pdev) | 92 | static __devinit int snd_soc_dummy_probe(struct platform_device *pdev) |
| 64 | { | 93 | { |
