Merge branch 'fix/asoc' into for-linus

This commit is contained in:
Takashi Iwai 2011-09-23 15:26:37 +02:00
commit 3127b6aa75
3 changed files with 16 additions and 30 deletions

View File

@ -128,7 +128,7 @@ static int snd_ad73311_configure(void)
return 0; return 0;
} }
static int bf5xx_probe(struct platform_device *pdev) static int bf5xx_probe(struct snd_soc_card *card)
{ {
int err; int err;
if (gpio_request(GPIO_SE, "AD73311_SE")) { if (gpio_request(GPIO_SE, "AD73311_SE")) {

View File

@ -3479,31 +3479,6 @@ int wm8962_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack)
} }
EXPORT_SYMBOL_GPL(wm8962_mic_detect); EXPORT_SYMBOL_GPL(wm8962_mic_detect);
#ifdef CONFIG_PM
static int wm8962_resume(struct snd_soc_codec *codec)
{
u16 *reg_cache = codec->reg_cache;
int i;
/* Restore the registers */
for (i = 1; i < codec->driver->reg_cache_size; i++) {
switch (i) {
case WM8962_SOFTWARE_RESET:
continue;
default:
break;
}
if (reg_cache[i] != wm8962_reg[i])
snd_soc_write(codec, i, reg_cache[i]);
}
return 0;
}
#else
#define wm8962_resume NULL
#endif
#if defined(CONFIG_INPUT) || defined(CONFIG_INPUT_MODULE) #if defined(CONFIG_INPUT) || defined(CONFIG_INPUT_MODULE)
static int beep_rates[] = { static int beep_rates[] = {
500, 1000, 2000, 4000, 500, 1000, 2000, 4000,
@ -4015,7 +3990,6 @@ static int wm8962_remove(struct snd_soc_codec *codec)
static struct snd_soc_codec_driver soc_codec_dev_wm8962 = { static struct snd_soc_codec_driver soc_codec_dev_wm8962 = {
.probe = wm8962_probe, .probe = wm8962_probe,
.remove = wm8962_remove, .remove = wm8962_remove,
.resume = wm8962_resume,
.set_bias_level = wm8962_set_bias_level, .set_bias_level = wm8962_set_bias_level,
.reg_cache_size = WM8962_MAX_REGISTER + 1, .reg_cache_size = WM8962_MAX_REGISTER + 1,
.reg_word_size = sizeof(u16), .reg_word_size = sizeof(u16),

View File

@ -30,6 +30,7 @@
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/ctype.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <sound/ac97_codec.h> #include <sound/ac97_codec.h>
#include <sound/core.h> #include <sound/core.h>
@ -1434,9 +1435,20 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card)
"%s", card->name); "%s", card->name);
snprintf(card->snd_card->longname, sizeof(card->snd_card->longname), snprintf(card->snd_card->longname, sizeof(card->snd_card->longname),
"%s", card->long_name ? card->long_name : card->name); "%s", card->long_name ? card->long_name : card->name);
if (card->driver_name) snprintf(card->snd_card->driver, sizeof(card->snd_card->driver),
strlcpy(card->snd_card->driver, card->driver_name, "%s", card->driver_name ? card->driver_name : card->name);
sizeof(card->snd_card->driver)); for (i = 0; i < ARRAY_SIZE(card->snd_card->driver); i++) {
switch (card->snd_card->driver[i]) {
case '_':
case '-':
case '\0':
break;
default:
if (!isalnum(card->snd_card->driver[i]))
card->snd_card->driver[i] = '_';
break;
}
}
if (card->late_probe) { if (card->late_probe) {
ret = card->late_probe(card); ret = card->late_probe(card);