From: Takashi Iwai Date: Tue, 23 Nov 2010 11:45:05 +0000 (+0100) Subject: Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc... X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2ab46c9390e74368a38ddb5aa525124518df8b69;p=linux-beck.git Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc Conflicts: sound/soc/codecs/tpa6130a2.c --- 2ab46c9390e74368a38ddb5aa525124518df8b69 diff --cc sound/soc/codecs/tlv320aic3x.c index df726a5066e8,684ca3a57caa..11a0a3d17055 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c @@@ -1351,9 -1365,10 +1367,10 @@@ static int aic3x_probe(struct snd_soc_c struct aic3x_priv *aic3x = snd_soc_codec_get_drvdata(codec); int ret, i; + INIT_LIST_HEAD(&aic3x->list); codec->control_data = aic3x->control_data; aic3x->codec = codec; - codec->idle_bias_off = 1; + codec->dapm.idle_bias_off = 1; ret = snd_soc_codec_set_cache_io(codec, 8, 8, aic3x->control_type); if (ret != 0) { @@@ -1416,9 -1433,11 +1435,10 @@@ err_notif &aic3x->disable_nb[i].nb); regulator_bulk_free(ARRAY_SIZE(aic3x->supplies), aic3x->supplies); err_get: - if (aic3x->gpio_reset >= 0) + if (gpio_is_valid(aic3x->gpio_reset) && + !aic3x_is_shared_reset(aic3x)) gpio_free(aic3x->gpio_reset); err_gpio: - kfree(aic3x); return ret; } diff --cc sound/soc/codecs/tpa6130a2.c index f9a92ea6b50a,e55317b35786..d69d2f5f9570 --- a/sound/soc/codecs/tpa6130a2.c +++ b/sound/soc/codecs/tpa6130a2.c @@@ -125,10 -125,7 +125,7 @@@ static int tpa6130a2_power(int power data = i2c_get_clientdata(tpa6130a2_client); mutex_lock(&data->mutex); - if (power) { + if (power && !data->power_state) { - /* Power on */ - if (data->power_gpio >= 0) - gpio_set_value(data->power_gpio, 1); ret = regulator_enable(data->supply); if (ret != 0) {