mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

To make introduced peakvol module useful from userspace perspective, expose ALSA controls allowing DSP volume modification. These provide even more granular control over volume but are also the only way to modify volume for devices devoid of codec kcontrols e.g.: DMIC. Co-authored-by: Cezary Rojewski <cezary.rojewski@intel.com> Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Link: https://lore.kernel.org/r/20221214185500.3896902-3-amadeuszx.slawinski@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
24 lines
603 B
C
24 lines
603 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright(c) 2021-2022 Intel Corporation. All rights reserved.
|
|
*
|
|
* Authors: Amadeusz Slawinski <amadeuszx.slawinski@linux.intel.com>
|
|
* Cezary Rojewski <cezary.rojewski@intel.com>
|
|
*/
|
|
|
|
#ifndef __SOUND_SOC_INTEL_AVS_CTRL_H
|
|
#define __SOUND_SOC_INTEL_AVS_CTRL_H
|
|
|
|
#include <sound/control.h>
|
|
|
|
struct avs_control_data {
|
|
u32 id;
|
|
|
|
long volume;
|
|
};
|
|
|
|
int avs_control_volume_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol);
|
|
int avs_control_volume_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol);
|
|
|
|
#endif
|