Commit f843b0fc authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6

* 'for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6:
  ASoC: fixup oops in generic AC97 codec glue
  ASoC: fix params_rate() macro use in several codecs
  ASoC: fsi-ak4642: Remove ak4642_add_i2c_device
parents c5974b83 ecbec242
...@@ -102,6 +102,12 @@ static int ac97_soc_probe(struct platform_device *pdev) ...@@ -102,6 +102,12 @@ static int ac97_soc_probe(struct platform_device *pdev)
INIT_LIST_HEAD(&codec->dapm_widgets); INIT_LIST_HEAD(&codec->dapm_widgets);
INIT_LIST_HEAD(&codec->dapm_paths); INIT_LIST_HEAD(&codec->dapm_paths);
ret = snd_soc_new_ac97_codec(codec, &soc_ac97_ops, 0);
if (ret < 0) {
printk(KERN_ERR "ASoC: failed to init gen ac97 glue\n");
goto err;
}
/* register pcms */ /* register pcms */
ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1); ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1);
if (ret < 0) if (ret < 0)
......
...@@ -424,23 +424,23 @@ static int wm8510_pcm_hw_params(struct snd_pcm_substream *substream, ...@@ -424,23 +424,23 @@ static int wm8510_pcm_hw_params(struct snd_pcm_substream *substream,
/* filter coefficient */ /* filter coefficient */
switch (params_rate(params)) { switch (params_rate(params)) {
case SNDRV_PCM_RATE_8000: case 8000:
adn |= 0x5 << 1; adn |= 0x5 << 1;
break; break;
case SNDRV_PCM_RATE_11025: case 11025:
adn |= 0x4 << 1; adn |= 0x4 << 1;
break; break;
case SNDRV_PCM_RATE_16000: case 16000:
adn |= 0x3 << 1; adn |= 0x3 << 1;
break; break;
case SNDRV_PCM_RATE_22050: case 22050:
adn |= 0x2 << 1; adn |= 0x2 << 1;
break; break;
case SNDRV_PCM_RATE_32000: case 32000:
adn |= 0x1 << 1; adn |= 0x1 << 1;
break; break;
case SNDRV_PCM_RATE_44100: case 44100:
case SNDRV_PCM_RATE_48000: case 48000:
break; break;
} }
......
...@@ -378,23 +378,23 @@ static int wm8940_i2s_hw_params(struct snd_pcm_substream *substream, ...@@ -378,23 +378,23 @@ static int wm8940_i2s_hw_params(struct snd_pcm_substream *substream,
iface |= (1 << 9); iface |= (1 << 9);
switch (params_rate(params)) { switch (params_rate(params)) {
case SNDRV_PCM_RATE_8000: case 8000:
addcntrl |= (0x5 << 1); addcntrl |= (0x5 << 1);
break; break;
case SNDRV_PCM_RATE_11025: case 11025:
addcntrl |= (0x4 << 1); addcntrl |= (0x4 << 1);
break; break;
case SNDRV_PCM_RATE_16000: case 16000:
addcntrl |= (0x3 << 1); addcntrl |= (0x3 << 1);
break; break;
case SNDRV_PCM_RATE_22050: case 22050:
addcntrl |= (0x2 << 1); addcntrl |= (0x2 << 1);
break; break;
case SNDRV_PCM_RATE_32000: case 32000:
addcntrl |= (0x1 << 1); addcntrl |= (0x1 << 1);
break; break;
case SNDRV_PCM_RATE_44100: case 44100:
case SNDRV_PCM_RATE_48000: case 48000:
break; break;
} }
ret = snd_soc_write(codec, WM8940_ADDCNTRL, addcntrl); ret = snd_soc_write(codec, WM8940_ADDCNTRL, addcntrl);
......
...@@ -482,23 +482,23 @@ static int wm8974_pcm_hw_params(struct snd_pcm_substream *substream, ...@@ -482,23 +482,23 @@ static int wm8974_pcm_hw_params(struct snd_pcm_substream *substream,
/* filter coefficient */ /* filter coefficient */
switch (params_rate(params)) { switch (params_rate(params)) {
case SNDRV_PCM_RATE_8000: case 8000:
adn |= 0x5 << 1; adn |= 0x5 << 1;
break; break;
case SNDRV_PCM_RATE_11025: case 11025:
adn |= 0x4 << 1; adn |= 0x4 << 1;
break; break;
case SNDRV_PCM_RATE_16000: case 16000:
adn |= 0x3 << 1; adn |= 0x3 << 1;
break; break;
case SNDRV_PCM_RATE_22050: case 22050:
adn |= 0x2 << 1; adn |= 0x2 << 1;
break; break;
case SNDRV_PCM_RATE_32000: case 32000:
adn |= 0x1 << 1; adn |= 0x1 << 1;
break; break;
case SNDRV_PCM_RATE_44100: case 44100:
case SNDRV_PCM_RATE_48000: case 48000:
break; break;
} }
......
...@@ -42,42 +42,12 @@ static struct snd_soc_device fsi_snd_devdata = { ...@@ -42,42 +42,12 @@ static struct snd_soc_device fsi_snd_devdata = {
.codec_dev = &soc_codec_dev_ak4642, .codec_dev = &soc_codec_dev_ak4642,
}; };
#define AK4642_BUS 0
#define AK4642_ADR 0x12
static int ak4642_add_i2c_device(void)
{
struct i2c_board_info info;
struct i2c_adapter *adapter;
struct i2c_client *client;
memset(&info, 0, sizeof(struct i2c_board_info));
info.addr = AK4642_ADR;
strlcpy(info.type, "ak4642", I2C_NAME_SIZE);
adapter = i2c_get_adapter(AK4642_BUS);
if (!adapter) {
printk(KERN_DEBUG "can't get i2c adapter\n");
return -ENODEV;
}
client = i2c_new_device(adapter, &info);
i2c_put_adapter(adapter);
if (!client) {
printk(KERN_DEBUG "can't add i2c device\n");
return -ENODEV;
}
return 0;
}
static struct platform_device *fsi_snd_device; static struct platform_device *fsi_snd_device;
static int __init fsi_ak4642_init(void) static int __init fsi_ak4642_init(void)
{ {
int ret = -ENOMEM; int ret = -ENOMEM;
ak4642_add_i2c_device();
fsi_snd_device = platform_device_alloc("soc-audio", -1); fsi_snd_device = platform_device_alloc("soc-audio", -1);
if (!fsi_snd_device) if (!fsi_snd_device)
goto out; goto out;
......
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