diff options
Diffstat (limited to 'sound/soc/codecs/tlv320dac33.c')
| -rw-r--r-- | sound/soc/codecs/tlv320dac33.c | 47 | 
1 files changed, 18 insertions, 29 deletions
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c index 4f358393d6d..df3a7506c02 100644 --- a/sound/soc/codecs/tlv320dac33.c +++ b/sound/soc/codecs/tlv320dac33.c @@ -122,7 +122,6 @@ struct tlv320dac33_priv {  	unsigned int uthr;  	enum dac33_state state; -	enum snd_soc_control_type control_type;  	void *control_data;  }; @@ -443,7 +442,7 @@ static int dac33_playback_event(struct snd_soc_dapm_widget *w,  static int dac33_get_fifo_mode(struct snd_kcontrol *kcontrol,  			 struct snd_ctl_elem_value *ucontrol)  { -	struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); +	struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);  	struct tlv320dac33_priv *dac33 = snd_soc_codec_get_drvdata(codec);  	ucontrol->value.integer.value[0] = dac33->fifo_mode; @@ -454,14 +453,14 @@ static int dac33_get_fifo_mode(struct snd_kcontrol *kcontrol,  static int dac33_set_fifo_mode(struct snd_kcontrol *kcontrol,  			 struct snd_ctl_elem_value *ucontrol)  { -	struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); +	struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);  	struct tlv320dac33_priv *dac33 = snd_soc_codec_get_drvdata(codec);  	int ret = 0;  	if (dac33->fifo_mode == ucontrol->value.integer.value[0])  		return 0;  	/* Do not allow changes while stream is running*/ -	if (codec->active) +	if (snd_soc_codec_is_active(codec))  		return -EPERM;  	if (ucontrol->value.integer.value[0] < 0 || @@ -478,9 +477,7 @@ static const char *dac33_fifo_mode_texts[] = {  	"Bypass", "Mode 1", "Mode 7"  }; -static const struct soc_enum dac33_fifo_mode_enum = -	SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(dac33_fifo_mode_texts), -			    dac33_fifo_mode_texts); +static SOC_ENUM_SINGLE_EXT_DECL(dac33_fifo_mode_enum, dac33_fifo_mode_texts);  /* L/R Line Output Gain */  static const char *lr_lineout_gain_texts[] = { @@ -488,15 +485,13 @@ static const char *lr_lineout_gain_texts[] = {  	"Line 0dB DAC 12dB", "Line 6dB DAC 18dB",  }; -static const struct soc_enum l_lineout_gain_enum = -	SOC_ENUM_SINGLE(DAC33_LDAC_PWR_CTRL, 0, -			ARRAY_SIZE(lr_lineout_gain_texts), -			lr_lineout_gain_texts); +static SOC_ENUM_SINGLE_DECL(l_lineout_gain_enum, +			    DAC33_LDAC_PWR_CTRL, 0, +			    lr_lineout_gain_texts); -static const struct soc_enum r_lineout_gain_enum = -	SOC_ENUM_SINGLE(DAC33_RDAC_PWR_CTRL, 0, -			ARRAY_SIZE(lr_lineout_gain_texts), -			lr_lineout_gain_texts); +static SOC_ENUM_SINGLE_DECL(r_lineout_gain_enum, +			    DAC33_RDAC_PWR_CTRL, 0, +			    lr_lineout_gain_texts);  /*   * DACL/R digital volume control: @@ -534,18 +529,16 @@ static const struct snd_kcontrol_new dac33_dapm_abypassr_control =  /* LOP L/R invert selection */  static const char *dac33_lr_lom_texts[] = {"DAC", "LOP"}; -static const struct soc_enum dac33_left_lom_enum = -	SOC_ENUM_SINGLE(DAC33_OUT_AMP_CTRL, 3, -			ARRAY_SIZE(dac33_lr_lom_texts), -			dac33_lr_lom_texts); +static SOC_ENUM_SINGLE_DECL(dac33_left_lom_enum, +			    DAC33_OUT_AMP_CTRL, 3, +			    dac33_lr_lom_texts);  static const struct snd_kcontrol_new dac33_dapm_left_lom_control =  SOC_DAPM_ENUM("Route", dac33_left_lom_enum); -static const struct soc_enum dac33_right_lom_enum = -	SOC_ENUM_SINGLE(DAC33_OUT_AMP_CTRL, 2, -			ARRAY_SIZE(dac33_lr_lom_texts), -			dac33_lr_lom_texts); +static SOC_ENUM_SINGLE_DECL(dac33_right_lom_enum, +			    DAC33_OUT_AMP_CTRL, 2, +			    dac33_lr_lom_texts);  static const struct snd_kcontrol_new dac33_dapm_right_lom_control =  SOC_DAPM_ENUM("Route", dac33_right_lom_enum); @@ -1547,7 +1540,7 @@ static int dac33_i2c_probe(struct i2c_client *client,  	for (i = 0; i < ARRAY_SIZE(dac33->supplies); i++)  		dac33->supplies[i].supply = dac33_supply_names[i]; -	ret = regulator_bulk_get(&client->dev, ARRAY_SIZE(dac33->supplies), +	ret = devm_regulator_bulk_get(&client->dev, ARRAY_SIZE(dac33->supplies),  				 dac33->supplies);  	if (ret != 0) { @@ -1558,11 +1551,9 @@ static int dac33_i2c_probe(struct i2c_client *client,  	ret = snd_soc_register_codec(&client->dev,  			&soc_codec_dev_tlv320dac33, &dac33_dai, 1);  	if (ret < 0) -		goto err_register; +		goto err_get;  	return ret; -err_register: -	regulator_bulk_free(ARRAY_SIZE(dac33->supplies), dac33->supplies);  err_get:  	if (dac33->power_gpio >= 0)  		gpio_free(dac33->power_gpio); @@ -1580,8 +1571,6 @@ static int dac33_i2c_remove(struct i2c_client *client)  	if (dac33->power_gpio >= 0)  		gpio_free(dac33->power_gpio); -	regulator_bulk_free(ARRAY_SIZE(dac33->supplies), dac33->supplies); -  	snd_soc_unregister_codec(&client->dev);  	return 0;  }  | 
