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

Commit 153723f6 authored by Brian Austin's avatar Brian Austin Committed by Mark Brown
Browse files

ASoC: cs42l52: convert pdata config to regmap_update_bits



Moving platform data to bus probe and convert to regmap_update_bits.
This will work nicer when converted to device tree instead of having it
split into multiple probes

Signed-off-by: default avatarBrian Austin <brian.austin@cirrus.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 6dd17757
Loading
Loading
Loading
Loading
+34 −35
Original line number Diff line number Diff line
@@ -1117,40 +1117,6 @@ static int cs42l52_probe(struct snd_soc_codec *codec)
	cs42l52->sysclk = CS42L52_DEFAULT_CLK;
	cs42l52->config.format = CS42L52_DEFAULT_FORMAT;

	/* Set Platform MICx CFG */
	snd_soc_update_bits(codec, CS42L52_MICA_CTL,
			    CS42L52_MIC_CTL_TYPE_MASK,
				cs42l52->pdata.mica_cfg <<
				CS42L52_MIC_CTL_TYPE_SHIFT);

	snd_soc_update_bits(codec, CS42L52_MICB_CTL,
			    CS42L52_MIC_CTL_TYPE_MASK,
				cs42l52->pdata.micb_cfg <<
				CS42L52_MIC_CTL_TYPE_SHIFT);

	/* if Single Ended, Get Mic_Select */
	if (cs42l52->pdata.mica_cfg)
		snd_soc_update_bits(codec, CS42L52_MICA_CTL,
				    CS42L52_MIC_CTL_MIC_SEL_MASK,
				cs42l52->pdata.mica_sel <<
				CS42L52_MIC_CTL_MIC_SEL_SHIFT);
	if (cs42l52->pdata.micb_cfg)
		snd_soc_update_bits(codec, CS42L52_MICB_CTL,
				    CS42L52_MIC_CTL_MIC_SEL_MASK,
				cs42l52->pdata.micb_sel <<
				CS42L52_MIC_CTL_MIC_SEL_SHIFT);

	/* Set Platform Charge Pump Freq */
	snd_soc_update_bits(codec, CS42L52_CHARGE_PUMP,
			    CS42L52_CHARGE_PUMP_MASK,
				cs42l52->pdata.chgfreq <<
				CS42L52_CHARGE_PUMP_SHIFT);

	/* Set Platform Bias Level */
	snd_soc_update_bits(codec, CS42L52_IFACE_CTL2,
			    CS42L52_IFACE_CTL2_BIAS_LVL,
				cs42l52->pdata.micbias_lvl);

	return ret;
}

@@ -1257,7 +1223,40 @@ static int cs42l52_i2c_probe(struct i2c_client *i2c_client,
		return ret;
	}

	regcache_cache_only(cs42l52->regmap, true);
	/* Set Platform Data */
	if (cs42l52->pdata.mica_cfg)
		regmap_update_bits(cs42l52->regmap, CS42L52_MICA_CTL,
				   CS42L52_MIC_CTL_TYPE_MASK,
				cs42l52->pdata.mica_cfg <<
				CS42L52_MIC_CTL_TYPE_SHIFT);

	if (cs42l52->pdata.micb_cfg)
		regmap_update_bits(cs42l52->regmap, CS42L52_MICB_CTL,
				   CS42L52_MIC_CTL_TYPE_MASK,
				cs42l52->pdata.micb_cfg <<
				CS42L52_MIC_CTL_TYPE_SHIFT);

	if (cs42l52->pdata.mica_sel)
		regmap_update_bits(cs42l52->regmap, CS42L52_MICA_CTL,
				   CS42L52_MIC_CTL_MIC_SEL_MASK,
				cs42l52->pdata.mica_sel <<
				CS42L52_MIC_CTL_MIC_SEL_SHIFT);
	if (cs42l52->pdata.micb_sel)
		regmap_update_bits(cs42l52->regmap, CS42L52_MICB_CTL,
				   CS42L52_MIC_CTL_MIC_SEL_MASK,
				cs42l52->pdata.micb_sel <<
				CS42L52_MIC_CTL_MIC_SEL_SHIFT);

	if (cs42l52->pdata.chgfreq)
		regmap_update_bits(cs42l52->regmap, CS42L52_CHARGE_PUMP,
				   CS42L52_CHARGE_PUMP_MASK,
				cs42l52->pdata.chgfreq <<
				CS42L52_CHARGE_PUMP_SHIFT);

	if (cs42l52->pdata.micbias_lvl)
		regmap_update_bits(cs42l52->regmap, CS42L52_IFACE_CTL2,
				   CS42L52_IFACE_CTL2_BIAS_LVL,
				cs42l52->pdata.micbias_lvl);

	ret =  snd_soc_register_codec(&i2c_client->dev,
			&soc_codec_dev_cs42l52, &cs42l52_dai, 1);