Loading sound/soc/codecs/sgtl5000.c +15 −0 Original line number Original line Diff line number Diff line Loading @@ -907,10 +907,25 @@ static int sgtl5000_set_bias_level(struct snd_soc_codec *codec, if (ret) if (ret) return ret; return ret; udelay(10); udelay(10); regcache_cache_only(sgtl5000->regmap, false); ret = regcache_sync(sgtl5000->regmap); if (ret != 0) { dev_err(codec->dev, "Failed to restore cache: %d\n", ret); regcache_cache_only(sgtl5000->regmap, true); regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), sgtl5000->supplies); return ret; } } } break; break; case SND_SOC_BIAS_OFF: case SND_SOC_BIAS_OFF: regcache_cache_only(sgtl5000->regmap, true); regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), sgtl5000->supplies); sgtl5000->supplies); break; break; Loading Loading
sound/soc/codecs/sgtl5000.c +15 −0 Original line number Original line Diff line number Diff line Loading @@ -907,10 +907,25 @@ static int sgtl5000_set_bias_level(struct snd_soc_codec *codec, if (ret) if (ret) return ret; return ret; udelay(10); udelay(10); regcache_cache_only(sgtl5000->regmap, false); ret = regcache_sync(sgtl5000->regmap); if (ret != 0) { dev_err(codec->dev, "Failed to restore cache: %d\n", ret); regcache_cache_only(sgtl5000->regmap, true); regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), sgtl5000->supplies); return ret; } } } break; break; case SND_SOC_BIAS_OFF: case SND_SOC_BIAS_OFF: regcache_cache_only(sgtl5000->regmap, true); regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), sgtl5000->supplies); sgtl5000->supplies); break; break; Loading