Commit bbc0bd7f authored by Xiubo Li's avatar Xiubo Li Committed by Mark Brown
Browse files

ASoC: 88pm860x: Remove the set_cache_io() entirely from ASoC probe.



As we can set the CODEC I/O while snd_soc_register_codec(), so the
calling of set_cache_io() from CODEC ASoC probe could be removed
entirely.

And then we can set the CODEC I/O in the device probe instead of
CODEC ASoC probe as earily as possible.

Signed-off-by: default avatarXiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent a39f75f7
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1327,10 +1327,6 @@ static int pm860x_probe(struct snd_soc_codec *codec)

	pm860x->codec = codec;

	ret = snd_soc_codec_set_cache_io(codec, pm860x->regmap);
	if (ret)
		return ret;

	for (i = 0; i < 4; i++) {
		ret = request_threaded_irq(pm860x->irq[i], NULL,
					   pm860x_codec_handler, IRQF_ONESHOT,
@@ -1362,10 +1358,18 @@ static int pm860x_remove(struct snd_soc_codec *codec)
	return 0;
}

struct regmap *pm860x_get_regmap(struct device *dev)
{
	struct pm860x_priv *pm860x = dev_get_drvdata(dev);

	return pm860x->regmap;
}

static struct snd_soc_codec_driver soc_codec_dev_pm860x = {
	.probe		= pm860x_probe,
	.remove		= pm860x_remove,
	.set_bias_level	= pm860x_set_bias_level,
	.get_regmap	= pm860x_get_regmap,

	.controls = pm860x_snd_controls,
	.num_controls = ARRAY_SIZE(pm860x_snd_controls),