diff options
author | Dharageswari R <dharageswari.r@intel.com> | 2020-09-08 12:28:24 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-09-08 15:54:59 +0300 |
commit | 819b9f6002391925b53817ed96638bd40bd1d34f (patch) | |
tree | 48da27d9272922bfd0dfc5f11ede77787d4da4de /sound/soc/soc-topology.c | |
parent | 34ce41003bcbff8b20a30eb0938478b156e57a2d (diff) | |
download | linux-819b9f6002391925b53817ed96638bd40bd1d34f.tar.xz |
ASoC: topology: Add support for WO and RO TLV byte kcontrols
This patch adds support for write-only and read-only TLV byte kcontrols
by checking for appropriate get/put IO handlers.
Signed-off-by: Dharageswari R <dharageswari.r@intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20200908092825.1813847-1-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/soc-topology.c')
-rw-r--r-- | sound/soc/soc-topology.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c index cee998671318..28faaf58326e 100644 --- a/sound/soc/soc-topology.c +++ b/sound/soc/soc-topology.c @@ -603,10 +603,11 @@ static int soc_tplg_kcontrol_bind_io(struct snd_soc_tplg_ctl_hdr *hdr, sbe->get = ext_ops[i].get; } - if (sbe->put && sbe->get) - return 0; - else + if ((k->access & SNDRV_CTL_ELEM_ACCESS_TLV_READ) && !sbe->get) return -EINVAL; + if ((k->access & SNDRV_CTL_ELEM_ACCESS_TLV_WRITE) && !sbe->put) + return -EINVAL; + return 0; } /* try and map vendor specific kcontrol handlers first */ |