summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMengdong Lin <mengdong.lin@intel.com>2015-08-05 16:41:14 +0300
committerMark Brown <broonie@kernel.org>2015-08-06 14:34:46 +0300
commitcb88498b36ab01cbe3a0d95cd097e4afdff4c6fd (patch)
tree85df2fe064fd8b1e4a97ff4cf5a4ba93a8dbcb6c
parent28a87eebcad40101b1b273cbd4f2a02c104f9367 (diff)
downloadlinux-cb88498b36ab01cbe3a0d95cd097e4afdff4c6fd.tar.xz
ASoC: topology: Add ops support to byte controls UAPI
Add UAPI support for setting byte control ops. Rename the ops structure to be more generic so it can be sued by other objects too. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--include/uapi/sound/asoc.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h
index aa3a79b42438..d5281ac8e5eb 100644
--- a/include/uapi/sound/asoc.h
+++ b/include/uapi/sound/asoc.h
@@ -163,9 +163,11 @@ struct snd_soc_tplg_channel {
} __attribute__((packed));
/*
- * Kcontrol Operations IDs
+ * Genericl Operations IDs, for binding Kcontrol or Bytes ext ops
+ * Kcontrol ops need get/put/info.
+ * Bytes ext ops need get/put.
*/
-struct snd_soc_tplg_kcontrol_ops_id {
+struct snd_soc_tplg_io_ops {
__le32 get;
__le32 put;
__le32 info;
@@ -179,7 +181,7 @@ struct snd_soc_tplg_ctl_hdr {
__le32 type;
char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
__le32 access;
- struct snd_soc_tplg_kcontrol_ops_id ops;
+ struct snd_soc_tplg_io_ops ops;
struct snd_soc_tplg_ctl_tlv tlv;
} __attribute__((packed));
@@ -311,6 +313,7 @@ struct snd_soc_tplg_bytes_control {
__le32 mask;
__le32 base;
__le32 num_regs;
+ struct snd_soc_tplg_io_ops ext_ops;
struct snd_soc_tplg_private priv;
} __attribute__((packed));