Unverified Commit dc9f2312 authored by Tang Bin's avatar Tang Bin Committed by Mark Brown
Browse files

ASoC: tas2781: Fix redundant logical jump



In these functions, some logical jump of "goto" and variable
are redundant, thus remove them.

Signed-off-by: default avatarTang Bin <tangbin@cmss.chinamobile.com>
Link: https://patch.msgid.link/20241025082042.2872-1-tangbin@cmss.chinamobile.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 42c7af04
Loading
Loading
Loading
Loading
+25 −43
Original line number Diff line number Diff line
@@ -489,14 +489,11 @@ static int tas2563_calib_start_put(struct snd_kcontrol *kcontrol,
	struct snd_soc_component *comp = snd_soc_kcontrol_component(kcontrol);
	struct tasdevice_priv *tas_priv = snd_soc_component_get_drvdata(comp);
	const int sum = ARRAY_SIZE(tas2563_cali_start_reg);
	int rc = 1;
	int i, j;

	guard(mutex)(&tas_priv->codec_lock);
	if (tas_priv->chip_id != TAS2563) {
		rc = -1;
		goto out;
	}
	if (tas_priv->chip_id != TAS2563)
		return -1;

	for (i = 0; i < tas_priv->ndev; i++) {
		struct tasdevice *tasdev = tas_priv->tasdevice;
@@ -523,8 +520,8 @@ static int tas2563_calib_start_put(struct snd_kcontrol *kcontrol,
					q[j].val, 4);
		}
	}
out:
	return rc;

	return 1;
}

static void tas2563_calib_stop_put(struct tasdevice_priv *tas_priv)
@@ -576,7 +573,7 @@ static int tasdev_cali_data_put(struct snd_kcontrol *kcontrol,
	struct cali_reg *p = &cali_data->cali_reg_array;
	unsigned char *src = ucontrol->value.bytes.data;
	unsigned char *dst = cali_data->data;
	int rc = 1, i = 0;
	int i = 0;
	int j;

	guard(mutex)(&priv->codec_lock);
@@ -605,7 +602,7 @@ static int tasdev_cali_data_put(struct snd_kcontrol *kcontrol,
	i += 3;

	memcpy(dst, &src[i], cali_data->total_sz);
	return rc;
	return 1;
}

static int tas2781_latch_reg_get(struct snd_kcontrol *kcontrol,
@@ -1115,25 +1112,21 @@ static int tasdevice_dsp_create_ctrls(struct tasdevice_priv *tas_priv)
	char *conf_name, *prog_name;
	int nr_controls = 4;
	int mix_index = 0;
	int ret;

	/* Alloc kcontrol via devm_kzalloc, which don't manually
	 * free the kcontrol
	 */
	dsp_ctrls = devm_kcalloc(tas_priv->dev, nr_controls,
		sizeof(dsp_ctrls[0]), GFP_KERNEL);
	if (!dsp_ctrls) {
		ret = -ENOMEM;
		goto out;
	}
	if (!dsp_ctrls)
		return -ENOMEM;

	/* Create mixer items for selecting the active Program and Config */
	prog_name = devm_kstrdup(tas_priv->dev, "Speaker Program Id",
		GFP_KERNEL);
	if (!prog_name) {
		ret = -ENOMEM;
		goto out;
	}
	if (!prog_name)
		return -ENOMEM;

	dsp_ctrls[mix_index].name = prog_name;
	dsp_ctrls[mix_index].iface = SNDRV_CTL_ELEM_IFACE_MIXER;
	dsp_ctrls[mix_index].info = tasdevice_info_programs;
@@ -1143,10 +1136,9 @@ static int tasdevice_dsp_create_ctrls(struct tasdevice_priv *tas_priv)

	conf_name = devm_kstrdup(tas_priv->dev, "Speaker Config Id",
		GFP_KERNEL);
	if (!conf_name) {
		ret = -ENOMEM;
		goto out;
	}
	if (!conf_name)
		return -ENOMEM;

	dsp_ctrls[mix_index].name = conf_name;
	dsp_ctrls[mix_index].iface = SNDRV_CTL_ELEM_IFACE_MIXER;
	dsp_ctrls[mix_index].info = tasdevice_info_configurations;
@@ -1156,10 +1148,9 @@ static int tasdevice_dsp_create_ctrls(struct tasdevice_priv *tas_priv)

	active_dev_num = devm_kstrdup(tas_priv->dev, "Activate Tasdevice Num",
		GFP_KERNEL);
	if (!active_dev_num) {
		ret = -ENOMEM;
		goto out;
	}
	if (!active_dev_num)
		return -ENOMEM;

	dsp_ctrls[mix_index].name = active_dev_num;
	dsp_ctrls[mix_index].iface = SNDRV_CTL_ELEM_IFACE_MIXER;
	dsp_ctrls[mix_index].info = tasdevice_info_active_num;
@@ -1168,21 +1159,17 @@ static int tasdevice_dsp_create_ctrls(struct tasdevice_priv *tas_priv)
	mix_index++;

	chip_id = devm_kstrdup(tas_priv->dev, "Tasdevice Chip Id", GFP_KERNEL);
	if (!chip_id) {
		ret = -ENOMEM;
		goto out;
	}
	if (!chip_id)
		return -ENOMEM;

	dsp_ctrls[mix_index].name = chip_id;
	dsp_ctrls[mix_index].iface = SNDRV_CTL_ELEM_IFACE_MIXER;
	dsp_ctrls[mix_index].info = tasdevice_info_chip_id;
	dsp_ctrls[mix_index].get = tasdevice_get_chip_id;
	mix_index++;

	ret = snd_soc_add_component_controls(tas_priv->codec, dsp_ctrls,
	return snd_soc_add_component_controls(tas_priv->codec, dsp_ctrls,
		nr_controls < mix_index ? nr_controls : mix_index);

out:
	return ret;
}

static int tasdevice_create_cali_ctrls(struct tasdevice_priv *priv)
@@ -1469,7 +1456,6 @@ static int tasdevice_hw_params(struct snd_pcm_substream *substream,
	unsigned int slot_width;
	unsigned int fsrate;
	int bclk_rate;
	int rc = 0;

	fsrate = params_rate(params);
	switch (fsrate) {
@@ -1479,8 +1465,7 @@ static int tasdevice_hw_params(struct snd_pcm_substream *substream,
	default:
		dev_err(tas_priv->dev, "%s: incorrect sample rate = %u\n",
			__func__, fsrate);
		rc = -EINVAL;
		goto out;
		return -EINVAL;
	}

	slot_width = params_width(params);
@@ -1493,20 +1478,17 @@ static int tasdevice_hw_params(struct snd_pcm_substream *substream,
	default:
		dev_err(tas_priv->dev, "%s: incorrect slot width = %u\n",
			__func__, slot_width);
		rc = -EINVAL;
		goto out;
		return -EINVAL;
	}

	bclk_rate = snd_soc_params_to_bclk(params);
	if (bclk_rate < 0) {
		dev_err(tas_priv->dev, "%s: incorrect bclk rate = %d\n",
			__func__, bclk_rate);
		rc = bclk_rate;
		goto out;
		return bclk_rate;
	}

out:
	return rc;
	return 0;
}

static int tasdevice_set_dai_sysclk(struct snd_soc_dai *codec_dai,