Commit dd2fef98 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown

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: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20211215180404.53254-6-ranjani.sridharan@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 9182f3c4
...@@ -372,7 +372,7 @@ int snd_sof_bytes_ext_put(struct snd_kcontrol *kcontrol, ...@@ -372,7 +372,7 @@ int snd_sof_bytes_ext_put(struct snd_kcontrol *kcontrol,
} }
/* Check that header id matches the command */ /* Check that header id matches the command */
if (header.numid != scontrol->cmd) { if (header.numid != cdata->cmd) {
dev_err_ratelimited(scomp->dev, dev_err_ratelimited(scomp->dev,
"error: incorrect numid %d\n", "error: incorrect numid %d\n",
header.numid); header.numid);
...@@ -462,7 +462,7 @@ int snd_sof_bytes_ext_volatile_get(struct snd_kcontrol *kcontrol, unsigned int _ ...@@ -462,7 +462,7 @@ int snd_sof_bytes_ext_volatile_get(struct snd_kcontrol *kcontrol, unsigned int _
goto out; goto out;
} }
header.numid = scontrol->cmd; header.numid = cdata->cmd;
header.length = data_size; header.length = data_size;
if (copy_to_user(tlvd, &header, sizeof(struct snd_ctl_tlv))) { if (copy_to_user(tlvd, &header, sizeof(struct snd_ctl_tlv))) {
ret = -EFAULT; ret = -EFAULT;
...@@ -522,7 +522,7 @@ int snd_sof_bytes_ext_get(struct snd_kcontrol *kcontrol, ...@@ -522,7 +522,7 @@ int snd_sof_bytes_ext_get(struct snd_kcontrol *kcontrol,
if (data_size > size) if (data_size > size)
return -ENOSPC; return -ENOSPC;
header.numid = scontrol->cmd; header.numid = cdata->cmd;
header.length = data_size; header.length = data_size;
if (copy_to_user(tlvd, &header, sizeof(struct snd_ctl_tlv))) if (copy_to_user(tlvd, &header, sizeof(struct snd_ctl_tlv)))
return -EFAULT; return -EFAULT;
......
...@@ -21,7 +21,7 @@ static int sof_kcontrol_setup(struct snd_sof_dev *sdev, struct snd_sof_control * ...@@ -21,7 +21,7 @@ static int sof_kcontrol_setup(struct snd_sof_dev *sdev, struct snd_sof_control *
scontrol->readback_offset = 0; scontrol->readback_offset = 0;
/* notify DSP of kcontrol values */ /* notify DSP of kcontrol values */
switch (scontrol->cmd) { switch (scontrol->control_data->cmd) {
case SOF_CTRL_CMD_VOLUME: case SOF_CTRL_CMD_VOLUME:
case SOF_CTRL_CMD_ENUM: case SOF_CTRL_CMD_ENUM:
case SOF_CTRL_CMD_SWITCH: case SOF_CTRL_CMD_SWITCH:
......
...@@ -74,7 +74,6 @@ struct snd_sof_control { ...@@ -74,7 +74,6 @@ struct snd_sof_control {
u32 readback_offset; /* offset to mmapped data if used */ u32 readback_offset; /* offset to mmapped data if used */
struct sof_ipc_ctrl_data *control_data; struct sof_ipc_ctrl_data *control_data;
u32 size; /* cdata size */ u32 size; /* cdata size */
enum sof_ipc_ctrl_cmd cmd;
u32 *volume_table; /* volume table computed from tlv data*/ u32 *volume_table; /* volume table computed from tlv data*/
struct list_head list; /* list in sdev control list */ struct list_head list; /* list in sdev control list */
......
...@@ -1090,13 +1090,11 @@ static int sof_control_load_volume(struct snd_soc_component *scomp, ...@@ -1090,13 +1090,11 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
/* set cmd for mixer control */ /* set cmd for mixer control */
if (le32_to_cpu(mc->max) == 1) { if (le32_to_cpu(mc->max) == 1) {
scontrol->cmd = SOF_CTRL_CMD_SWITCH; scontrol->control_data->cmd = SOF_CTRL_CMD_SWITCH;
scontrol->control_data->cmd = scontrol->cmd;
goto skip; goto skip;
} }
scontrol->cmd = SOF_CTRL_CMD_VOLUME; scontrol->control_data->cmd = SOF_CTRL_CMD_VOLUME;
scontrol->control_data->cmd = scontrol->cmd;
/* extract tlv data */ /* extract tlv data */
if (!kc->tlv.p || get_tlv_data(kc->tlv.p, tlv) < 0) { 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, ...@@ -1167,8 +1165,7 @@ static int sof_control_load_enum(struct snd_soc_component *scomp,
scontrol->comp_id = sdev->next_comp_id; scontrol->comp_id = sdev->next_comp_id;
scontrol->num_channels = le32_to_cpu(ec->num_channels); scontrol->num_channels = le32_to_cpu(ec->num_channels);
scontrol->control_data->index = kc->index; scontrol->control_data->index = kc->index;
scontrol->cmd = SOF_CTRL_CMD_ENUM; scontrol->control_data->cmd = SOF_CTRL_CMD_ENUM;
scontrol->control_data->cmd = scontrol->cmd;
dev_dbg(scomp->dev, "tplg: load kcontrol index %d chans %d comp_id %d\n", dev_dbg(scomp->dev, "tplg: load kcontrol index %d chans %d comp_id %d\n",
scontrol->comp_id, scontrol->num_channels, scontrol->comp_id); scontrol->comp_id, scontrol->num_channels, scontrol->comp_id);
...@@ -1214,8 +1211,7 @@ static int sof_control_load_bytes(struct snd_soc_component *scomp, ...@@ -1214,8 +1211,7 @@ static int sof_control_load_bytes(struct snd_soc_component *scomp,
} }
scontrol->comp_id = sdev->next_comp_id; scontrol->comp_id = sdev->next_comp_id;
scontrol->cmd = SOF_CTRL_CMD_BINARY; scontrol->control_data->cmd = SOF_CTRL_CMD_BINARY;
scontrol->control_data->cmd = scontrol->cmd;
scontrol->control_data->index = kc->index; scontrol->control_data->index = kc->index;
dev_dbg(scomp->dev, "tplg: load kcontrol index %d chans %d\n", 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, ...@@ -2080,7 +2076,7 @@ static int sof_get_control_data(struct snd_soc_component *scomp,
*size += wdata[i].pdata->size; *size += wdata[i].pdata->size;
/* get data type */ /* get data type */
switch (wdata[i].control->cmd) { switch (wdata[i].control->control_data->cmd) {
case SOF_CTRL_CMD_VOLUME: case SOF_CTRL_CMD_VOLUME:
case SOF_CTRL_CMD_ENUM: case SOF_CTRL_CMD_ENUM:
case SOF_CTRL_CMD_SWITCH: case SOF_CTRL_CMD_SWITCH:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment