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