OSDN Git Service

ASoC: topology: Add ops support to byte controls UAPI
authorMengdong Lin <mengdong.lin@intel.com>
Wed, 5 Aug 2015 13:41:14 +0000 (14:41 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 6 Aug 2015 11:34:46 +0000 (12:34 +0100)
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>
include/uapi/sound/asoc.h

index aa3a79b..d5281ac 100644 (file)
@@ -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));