ASoC: SOF: sof-audio: Drop the `cmd` member from struct snd_sof_control
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Wed, 15 Dec 2021 18:04:01 +0000 (10:04 -0800)
committerMark Brown <broonie@kernel.org>
Wed, 15 Dec 2021 22:16:44 +0000 (22:16 +0000)
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>
sound/soc/sof/control.c
sound/soc/sof/sof-audio.c
sound/soc/sof/sof-audio.h
sound/soc/sof/topology.c

index 23a916e..9297b29 100644 (file)
@@ -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;
index 269eca2..4530c6e 100644 (file)
@@ -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:
index 5bcc842..84a8ebe 100644 (file)
@@ -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 */
index c440e1c..ec59baf 100644 (file)
@@ -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: