1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright(c) 2021-2022 Intel Corporation 4 * 5 * Authors: Amadeusz Slawinski <amadeuszx.slawinski@linux.intel.com> 6 * Cezary Rojewski <cezary.rojewski@intel.com> 7 */ 8 9 #ifndef __SOUND_SOC_INTEL_AVS_CTRL_H 10 #define __SOUND_SOC_INTEL_AVS_CTRL_H 11 12 #include <sound/control.h> 13 #include <uapi/sound/asoc.h> 14 15 struct avs_control_data { 16 u32 id; 17 long values[SND_SOC_TPLG_MAX_CHAN]; 18 }; 19 20 int avs_control_volume_get(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *uctl); 21 int avs_control_volume_put(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *uctl); 22 int avs_control_volume_info(struct snd_kcontrol *kctl, struct snd_ctl_elem_info *uinfo); 23 int avs_control_mute_get(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *uctl); 24 int avs_control_mute_put(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *uctl); 25 int avs_control_mute_info(struct snd_kcontrol *kctl, struct snd_ctl_elem_info *uinfo); 26 27 #endif 28