mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-22 22:04:47 +08:00
ASoC: SOF: sof-audio: Drop the cmd
member from struct snd_sof_control
There is no need to use two variables to store and check the same information, the scontrol->cmd is the same as scontrol->control_data->cmd. Drop the former one and when it is needed, access the cmd from the control_data. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20211215180404.53254-6-ranjani.sridharan@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
9182f3c40b
commit
dd2fef982f
@ -372,7 +372,7 @@ int snd_sof_bytes_ext_put(struct snd_kcontrol *kcontrol,
|
||||
}
|
||||
|
||||
/* Check that header id matches the command */
|
||||
if (header.numid != scontrol->cmd) {
|
||||
if (header.numid != cdata->cmd) {
|
||||
dev_err_ratelimited(scomp->dev,
|
||||
"error: incorrect numid %d\n",
|
||||
header.numid);
|
||||
@ -462,7 +462,7 @@ int snd_sof_bytes_ext_volatile_get(struct snd_kcontrol *kcontrol, unsigned int _
|
||||
goto out;
|
||||
}
|
||||
|
||||
header.numid = scontrol->cmd;
|
||||
header.numid = cdata->cmd;
|
||||
header.length = data_size;
|
||||
if (copy_to_user(tlvd, &header, sizeof(struct snd_ctl_tlv))) {
|
||||
ret = -EFAULT;
|
||||
@ -522,7 +522,7 @@ int snd_sof_bytes_ext_get(struct snd_kcontrol *kcontrol,
|
||||
if (data_size > size)
|
||||
return -ENOSPC;
|
||||
|
||||
header.numid = scontrol->cmd;
|
||||
header.numid = cdata->cmd;
|
||||
header.length = data_size;
|
||||
if (copy_to_user(tlvd, &header, sizeof(struct snd_ctl_tlv)))
|
||||
return -EFAULT;
|
||||
|
@ -21,7 +21,7 @@ static int sof_kcontrol_setup(struct snd_sof_dev *sdev, struct snd_sof_control *
|
||||
scontrol->readback_offset = 0;
|
||||
|
||||
/* notify DSP of kcontrol values */
|
||||
switch (scontrol->cmd) {
|
||||
switch (scontrol->control_data->cmd) {
|
||||
case SOF_CTRL_CMD_VOLUME:
|
||||
case SOF_CTRL_CMD_ENUM:
|
||||
case SOF_CTRL_CMD_SWITCH:
|
||||
|
@ -74,7 +74,6 @@ struct snd_sof_control {
|
||||
u32 readback_offset; /* offset to mmapped data if used */
|
||||
struct sof_ipc_ctrl_data *control_data;
|
||||
u32 size; /* cdata size */
|
||||
enum sof_ipc_ctrl_cmd cmd;
|
||||
u32 *volume_table; /* volume table computed from tlv data*/
|
||||
|
||||
struct list_head list; /* list in sdev control list */
|
||||
|
@ -1090,13 +1090,11 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
|
||||
|
||||
/* set cmd for mixer control */
|
||||
if (le32_to_cpu(mc->max) == 1) {
|
||||
scontrol->cmd = SOF_CTRL_CMD_SWITCH;
|
||||
scontrol->control_data->cmd = scontrol->cmd;
|
||||
scontrol->control_data->cmd = SOF_CTRL_CMD_SWITCH;
|
||||
goto skip;
|
||||
}
|
||||
|
||||
scontrol->cmd = SOF_CTRL_CMD_VOLUME;
|
||||
scontrol->control_data->cmd = scontrol->cmd;
|
||||
scontrol->control_data->cmd = SOF_CTRL_CMD_VOLUME;
|
||||
|
||||
/* extract tlv data */
|
||||
if (!kc->tlv.p || get_tlv_data(kc->tlv.p, tlv) < 0) {
|
||||
@ -1167,8 +1165,7 @@ static int sof_control_load_enum(struct snd_soc_component *scomp,
|
||||
scontrol->comp_id = sdev->next_comp_id;
|
||||
scontrol->num_channels = le32_to_cpu(ec->num_channels);
|
||||
scontrol->control_data->index = kc->index;
|
||||
scontrol->cmd = SOF_CTRL_CMD_ENUM;
|
||||
scontrol->control_data->cmd = scontrol->cmd;
|
||||
scontrol->control_data->cmd = SOF_CTRL_CMD_ENUM;
|
||||
|
||||
dev_dbg(scomp->dev, "tplg: load kcontrol index %d chans %d comp_id %d\n",
|
||||
scontrol->comp_id, scontrol->num_channels, scontrol->comp_id);
|
||||
@ -1214,8 +1211,7 @@ static int sof_control_load_bytes(struct snd_soc_component *scomp,
|
||||
}
|
||||
|
||||
scontrol->comp_id = sdev->next_comp_id;
|
||||
scontrol->cmd = SOF_CTRL_CMD_BINARY;
|
||||
scontrol->control_data->cmd = scontrol->cmd;
|
||||
scontrol->control_data->cmd = SOF_CTRL_CMD_BINARY;
|
||||
scontrol->control_data->index = kc->index;
|
||||
|
||||
dev_dbg(scomp->dev, "tplg: load kcontrol index %d chans %d\n",
|
||||
@ -2080,7 +2076,7 @@ static int sof_get_control_data(struct snd_soc_component *scomp,
|
||||
*size += wdata[i].pdata->size;
|
||||
|
||||
/* get data type */
|
||||
switch (wdata[i].control->cmd) {
|
||||
switch (wdata[i].control->control_data->cmd) {
|
||||
case SOF_CTRL_CMD_VOLUME:
|
||||
case SOF_CTRL_CMD_ENUM:
|
||||
case SOF_CTRL_CMD_SWITCH:
|
||||
|
Loading…
Reference in New Issue
Block a user