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

Commit 07ccc0f4 authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Mark Brown
Browse files

ASoC: lm4857: Use table based setup for DAPM and controls



Let the ASoC core take care of registering the DAPM widget and routes as well as
the controls. This makes the code a bit shorter.

Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 3b2f64d0
Loading
Loading
Loading
Loading
+7 −19
Original line number Original line Diff line number Diff line
@@ -174,28 +174,9 @@ static const struct snd_soc_dapm_route lm4857_routes[] = {
static int lm4857_probe(struct snd_soc_codec *codec)
static int lm4857_probe(struct snd_soc_codec *codec)
{
{
	struct lm4857 *lm4857 = snd_soc_codec_get_drvdata(codec);
	struct lm4857 *lm4857 = snd_soc_codec_get_drvdata(codec);
	struct snd_soc_dapm_context *dapm = &codec->dapm;
	int ret;


	codec->control_data = lm4857->i2c;
	codec->control_data = lm4857->i2c;


	ret = snd_soc_add_codec_controls(codec, lm4857_controls,
			ARRAY_SIZE(lm4857_controls));
	if (ret)
		return ret;

	ret = snd_soc_dapm_new_controls(dapm, lm4857_dapm_widgets,
			ARRAY_SIZE(lm4857_dapm_widgets));
	if (ret)
		return ret;

	ret = snd_soc_dapm_add_routes(dapm, lm4857_routes,
			ARRAY_SIZE(lm4857_routes));
	if (ret)
		return ret;

	snd_soc_dapm_new_widgets(dapm);

	return 0;
	return 0;
}
}


@@ -207,6 +188,13 @@ static struct snd_soc_codec_driver soc_codec_dev_lm4857 = {
	.reg_word_size = sizeof(uint8_t),
	.reg_word_size = sizeof(uint8_t),
	.reg_cache_default = lm4857_default_regs,
	.reg_cache_default = lm4857_default_regs,
	.set_bias_level = lm4857_set_bias_level,
	.set_bias_level = lm4857_set_bias_level,

	.controls = lm4857_controls,
	.num_controls = ARRAY_SIZE(lm4857_controls),
	.dapm_widgets = lm4857_dapm_widgets,
	.num_dapm_widgets = ARRAY_SIZE(lm4857_dapm_widgets),
	.dapm_routes = lm4857_routes,
	.num_dapm_routes = ARRAY_SIZE(lm4857_routes),
};
};


static int lm4857_i2c_probe(struct i2c_client *i2c,
static int lm4857_i2c_probe(struct i2c_client *i2c,