Commit 6c39d6ac authored by Takashi Iwai's avatar Takashi Iwai

Merge branch 'fix/asoc' into for-linus

parents a0204283 cefcc03f
...@@ -50,8 +50,7 @@ Machine DAI Configuration ...@@ -50,8 +50,7 @@ Machine DAI Configuration
The machine DAI configuration glues all the codec and CPU DAIs together. It can The machine DAI configuration glues all the codec and CPU DAIs together. It can
also be used to set up the DAI system clock and for any machine related DAI also be used to set up the DAI system clock and for any machine related DAI
initialisation e.g. the machine audio map can be connected to the codec audio initialisation e.g. the machine audio map can be connected to the codec audio
map, unconnected codec pins can be set as such. Please see corgi.c, spitz.c map, unconnected codec pins can be set as such.
for examples.
struct snd_soc_dai_link is used to set up each DAI in your machine. e.g. struct snd_soc_dai_link is used to set up each DAI in your machine. e.g.
...@@ -83,8 +82,7 @@ Machine Power Map ...@@ -83,8 +82,7 @@ Machine Power Map
The machine driver can optionally extend the codec power map and to become an The machine driver can optionally extend the codec power map and to become an
audio power map of the audio subsystem. This allows for automatic power up/down audio power map of the audio subsystem. This allows for automatic power up/down
of speaker/HP amplifiers, etc. Codec pins can be connected to the machines jack of speaker/HP amplifiers, etc. Codec pins can be connected to the machines jack
sockets in the machine init function. See soc/pxa/spitz.c and dapm.txt for sockets in the machine init function.
details.
Machine Controls Machine Controls
......
...@@ -863,13 +863,13 @@ static struct i2c_driver uda1380_i2c_driver = { ...@@ -863,13 +863,13 @@ static struct i2c_driver uda1380_i2c_driver = {
static int __init uda1380_modinit(void) static int __init uda1380_modinit(void)
{ {
int ret; int ret = 0;
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) #if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
ret = i2c_add_driver(&uda1380_i2c_driver); ret = i2c_add_driver(&uda1380_i2c_driver);
if (ret != 0) if (ret != 0)
pr_err("Failed to register UDA1380 I2C driver: %d\n", ret); pr_err("Failed to register UDA1380 I2C driver: %d\n", ret);
#endif #endif
return 0; return ret;
} }
module_init(uda1380_modinit); module_init(uda1380_modinit);
......
...@@ -1325,15 +1325,15 @@ SND_SOC_DAPM_DAC("DAC1R", NULL, WM8994_POWER_MANAGEMENT_5, 0, 0), ...@@ -1325,15 +1325,15 @@ SND_SOC_DAPM_DAC("DAC1R", NULL, WM8994_POWER_MANAGEMENT_5, 0, 0),
}; };
static const struct snd_soc_dapm_widget wm8994_adc_revd_widgets[] = { static const struct snd_soc_dapm_widget wm8994_adc_revd_widgets[] = {
SND_SOC_DAPM_MUX_E("ADCL Mux", WM8994_POWER_MANAGEMENT_4, 1, 0, &adcl_mux, SND_SOC_DAPM_VIRT_MUX_E("ADCL Mux", WM8994_POWER_MANAGEMENT_4, 1, 0, &adcl_mux,
adc_mux_ev, SND_SOC_DAPM_PRE_PMU), adc_mux_ev, SND_SOC_DAPM_PRE_PMU),
SND_SOC_DAPM_MUX_E("ADCR Mux", WM8994_POWER_MANAGEMENT_4, 0, 0, &adcr_mux, SND_SOC_DAPM_VIRT_MUX_E("ADCR Mux", WM8994_POWER_MANAGEMENT_4, 0, 0, &adcr_mux,
adc_mux_ev, SND_SOC_DAPM_PRE_PMU), adc_mux_ev, SND_SOC_DAPM_PRE_PMU),
}; };
static const struct snd_soc_dapm_widget wm8994_adc_widgets[] = { static const struct snd_soc_dapm_widget wm8994_adc_widgets[] = {
SND_SOC_DAPM_MUX("ADCL Mux", WM8994_POWER_MANAGEMENT_4, 1, 0, &adcl_mux), SND_SOC_DAPM_VIRT_MUX("ADCL Mux", WM8994_POWER_MANAGEMENT_4, 1, 0, &adcl_mux),
SND_SOC_DAPM_MUX("ADCR Mux", WM8994_POWER_MANAGEMENT_4, 0, 0, &adcr_mux), SND_SOC_DAPM_VIRT_MUX("ADCR Mux", WM8994_POWER_MANAGEMENT_4, 0, 0, &adcr_mux),
}; };
static const struct snd_soc_dapm_widget wm8994_dapm_widgets[] = { static const struct snd_soc_dapm_widget wm8994_dapm_widgets[] = {
......
...@@ -28,7 +28,7 @@ config SND_MXC_SOC_WM1133_EV1 ...@@ -28,7 +28,7 @@ config SND_MXC_SOC_WM1133_EV1
config SND_SOC_MX27VIS_AIC32X4 config SND_SOC_MX27VIS_AIC32X4
tristate "SoC audio support for Visstrim M10 boards" tristate "SoC audio support for Visstrim M10 boards"
depends on MACH_IMX27_VISSTRIM_M10 depends on MACH_IMX27_VISSTRIM_M10 && I2C
select SND_SOC_TLV320AIC32X4 select SND_SOC_TLV320AIC32X4
select SND_MXC_SOC_MX2 select SND_MXC_SOC_MX2
help help
......
...@@ -12,6 +12,7 @@ config SND_KIRKWOOD_SOC_I2S ...@@ -12,6 +12,7 @@ config SND_KIRKWOOD_SOC_I2S
config SND_KIRKWOOD_SOC_OPENRD config SND_KIRKWOOD_SOC_OPENRD
tristate "SoC Audio support for Kirkwood Openrd Client" tristate "SoC Audio support for Kirkwood Openrd Client"
depends on SND_KIRKWOOD_SOC && (MACH_OPENRD_CLIENT || MACH_OPENRD_ULTIMATE) depends on SND_KIRKWOOD_SOC && (MACH_OPENRD_CLIENT || MACH_OPENRD_ULTIMATE)
depends on I2C
select SND_KIRKWOOD_SOC_I2S select SND_KIRKWOOD_SOC_I2S
select SND_SOC_CS42L51 select SND_SOC_CS42L51
help help
...@@ -20,7 +21,7 @@ config SND_KIRKWOOD_SOC_OPENRD ...@@ -20,7 +21,7 @@ config SND_KIRKWOOD_SOC_OPENRD
config SND_KIRKWOOD_SOC_T5325 config SND_KIRKWOOD_SOC_T5325
tristate "SoC Audio support for HP t5325" tristate "SoC Audio support for HP t5325"
depends on SND_KIRKWOOD_SOC && MACH_T5325 depends on SND_KIRKWOOD_SOC && MACH_T5325 && I2C
select SND_KIRKWOOD_SOC_I2S select SND_KIRKWOOD_SOC_I2S
select SND_SOC_ALC5623 select SND_SOC_ALC5623
help help
......
...@@ -151,6 +151,7 @@ config SND_SOC_ZYLONITE ...@@ -151,6 +151,7 @@ config SND_SOC_ZYLONITE
config SND_SOC_RAUMFELD config SND_SOC_RAUMFELD
tristate "SoC Audio support Raumfeld audio adapter" tristate "SoC Audio support Raumfeld audio adapter"
depends on SND_PXA2XX_SOC && (MACH_RAUMFELD_SPEAKER || MACH_RAUMFELD_CONNECTOR) depends on SND_PXA2XX_SOC && (MACH_RAUMFELD_SPEAKER || MACH_RAUMFELD_CONNECTOR)
depends on I2C && SPI_MASTER
select SND_PXA_SOC_SSP select SND_PXA_SOC_SSP
select SND_SOC_CS4270 select SND_SOC_CS4270
select SND_SOC_AK4104 select SND_SOC_AK4104
...@@ -159,7 +160,7 @@ config SND_SOC_RAUMFELD ...@@ -159,7 +160,7 @@ config SND_SOC_RAUMFELD
config SND_PXA2XX_SOC_HX4700 config SND_PXA2XX_SOC_HX4700
tristate "SoC Audio support for HP iPAQ hx4700" tristate "SoC Audio support for HP iPAQ hx4700"
depends on SND_PXA2XX_SOC && MACH_H4700 depends on SND_PXA2XX_SOC && MACH_H4700 && I2C
select SND_PXA2XX_SOC_I2S select SND_PXA2XX_SOC_I2S
select SND_SOC_AK4641 select SND_SOC_AK4641
help help
......
...@@ -58,7 +58,36 @@ int snd_soc_params_to_bclk(struct snd_pcm_hw_params *params) ...@@ -58,7 +58,36 @@ int snd_soc_params_to_bclk(struct snd_pcm_hw_params *params)
} }
EXPORT_SYMBOL_GPL(snd_soc_params_to_bclk); EXPORT_SYMBOL_GPL(snd_soc_params_to_bclk);
static struct snd_soc_platform_driver dummy_platform; static const struct snd_pcm_hardware dummy_dma_hardware = {
.formats = 0xffffffff,
.channels_min = 1,
.channels_max = UINT_MAX,
/* Random values to keep userspace happy when checking constraints */
.info = SNDRV_PCM_INFO_INTERLEAVED |
SNDRV_PCM_INFO_BLOCK_TRANSFER,
.buffer_bytes_max = 128*1024,
.period_bytes_min = PAGE_SIZE,
.period_bytes_max = PAGE_SIZE*2,
.periods_min = 2,
.periods_max = 128,
};
static int dummy_dma_open(struct snd_pcm_substream *substream)
{
snd_soc_set_runtime_hwparams(substream, &dummy_dma_hardware);
return 0;
}
static struct snd_pcm_ops dummy_dma_ops = {
.open = dummy_dma_open,
.ioctl = snd_pcm_lib_ioctl,
};
static struct snd_soc_platform_driver dummy_platform = {
.ops = &dummy_dma_ops,
};
static __devinit int snd_soc_dummy_probe(struct platform_device *pdev) static __devinit int snd_soc_dummy_probe(struct platform_device *pdev)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment