Commit ff541f4b authored by Chuansheng Liu's avatar Chuansheng Liu Committed by Mark Brown
Browse files

ASoC: core: giving WARN when device starting from non-off bias with idle_bias_off



Just found some cases that some codec drivers set the bias to _STANDBY and
set idle_bias_off to 1 during probing.
It will cause unpaired runtime_get_sync/put() issue. Also as Mark suggested,
there is no reason to start from _STANDBY bias with idle_bias_off == 1.

So here giving one warning when detected (dapm.idle_bias_off == 1) and
(dapm.bias_level != SND_SOC_BIAS_OFF) just after driver->probe().

Signed-off-by: default avatarliu chuansheng <chuansheng.liu@intel.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent a49f0d1e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1107,6 +1107,10 @@ static int soc_probe_codec(struct snd_soc_card *card,
				"ASoC: failed to probe CODEC %d\n", ret);
			goto err_probe;
		}
		WARN(codec->dapm.idle_bias_off &&
			codec->dapm.bias_level != SND_SOC_BIAS_OFF,
			"codec %s can not start from non-off bias"
			" with idle_bias_off==1\n", codec->name);
	}

	/* If the driver didn't set I/O up try regmap */