Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b21768a authored by Bard Liao's avatar Bard Liao Committed by Mark Brown
Browse files

ASoC: RT286: check ID in i2c level



Move ID check from asoc level to i2c level.

Signed-off-by: default avatarBard Liao <bardliao@realtek.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 305b8d87
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -952,14 +952,6 @@ static int rt286_probe(struct snd_soc_codec *codec)
	struct rt286_priv *rt286 = snd_soc_codec_get_drvdata(codec);
	int i, ret;

	ret = snd_soc_read(codec,
		RT286_GET_PARAM(AC_NODE_ROOT, AC_PAR_VENDOR_ID));
	if (ret != RT286_VENDOR_ID) {
		dev_err(codec->dev,
			"Device with ID register %x is not rt286\n", ret);
		return -ENODEV;
	}

	snd_soc_write(codec, RT286_SET_AUDIO_POWER, AC_PWRST_D3);

	for (i = 0; i < RT286_POWER_REG_LEN; i++)
@@ -1164,6 +1156,14 @@ static int rt286_i2c_probe(struct i2c_client *i2c,
		return ret;
	}

	regmap_read(rt286->regmap,
		RT286_GET_PARAM(AC_NODE_ROOT, AC_PAR_VENDOR_ID), &ret);
	if (ret != RT286_VENDOR_ID) {
		dev_err(&i2c->dev,
			"Device with ID register %x is not rt286\n", ret);
		return -ENODEV;
	}

	rt286->index_cache = rt286_index_def;
	rt286->i2c = i2c;
	i2c_set_clientdata(i2c, rt286);