mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
ASoC: topology: Allow TLV control to be either read or write
commitfeb00b736aupstream. There is no reason to force readwrite access on TLV controls. It can be either read, write or both. This is further evidenced in code where it performs following checks: 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; Fixes:1a3232d2f6("ASoC: topology: Add support for TLV bytes controls") Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220112170030.569712-3-amadeuszx.slawinski@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3ca47556d9
commit
74f7971985
@@ -578,7 +578,8 @@ static int soc_tplg_kcontrol_bind_io(struct snd_soc_tplg_ctl_hdr *hdr,
|
|||||||
|
|
||||||
if (le32_to_cpu(hdr->ops.info) == SND_SOC_TPLG_CTL_BYTES
|
if (le32_to_cpu(hdr->ops.info) == SND_SOC_TPLG_CTL_BYTES
|
||||||
&& k->iface & SNDRV_CTL_ELEM_IFACE_MIXER
|
&& k->iface & SNDRV_CTL_ELEM_IFACE_MIXER
|
||||||
&& k->access & SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE
|
&& (k->access & SNDRV_CTL_ELEM_ACCESS_TLV_READ
|
||||||
|
|| k->access & SNDRV_CTL_ELEM_ACCESS_TLV_WRITE)
|
||||||
&& k->access & SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK) {
|
&& k->access & SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK) {
|
||||||
struct soc_bytes_ext *sbe;
|
struct soc_bytes_ext *sbe;
|
||||||
struct snd_soc_tplg_bytes_control *be;
|
struct snd_soc_tplg_bytes_control *be;
|
||||||
|
|||||||
Reference in New Issue
Block a user