.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * cs42l56.c -- CS42L56 ALSA SoC audio driver |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright 2014 CirrusLogic, Inc. |
---|
5 | 6 | * |
---|
6 | 7 | * Author: Brian Austin <brian.austin@cirrus.com> |
---|
7 | | - * |
---|
8 | | - * This program is free software; you can redistribute it and/or modify |
---|
9 | | - * it under the terms of the GNU General Public License version 2 as |
---|
10 | | - * published by the Free Software Foundation. |
---|
11 | | - * |
---|
12 | 8 | */ |
---|
13 | 9 | |
---|
14 | 10 | #include <linux/module.h> |
---|
.. | .. |
---|
203 | 199 | SOC_ENUM_SINGLE(CS42L56_BEEP_TONE_CFG, 1, |
---|
204 | 200 | ARRAY_SIZE(beep_bass_text), beep_bass_text); |
---|
205 | 201 | |
---|
206 | | -static const char * const adc_swap_text[] = { |
---|
207 | | - "None", "A+B/2", "A-B/2", "Swap" |
---|
208 | | -}; |
---|
209 | | - |
---|
210 | | -static const struct soc_enum adc_swap_enum = |
---|
211 | | - SOC_ENUM_SINGLE(CS42L56_MISC_ADC_CTL, 3, |
---|
212 | | - ARRAY_SIZE(adc_swap_text), adc_swap_text); |
---|
213 | | - |
---|
214 | 202 | static const char * const pgaa_mux_text[] = { |
---|
215 | 203 | "AIN1A", "AIN2A", "AIN3A"}; |
---|
216 | 204 | |
---|
.. | .. |
---|
403 | 391 | SOC_DOUBLE("ADC Boost Switch", CS42L56_GAIN_BIAS_CTL, 3, 2, 1, 1), |
---|
404 | 392 | |
---|
405 | 393 | SOC_DOUBLE_R_SX_TLV("Headphone Volume", CS42L56_HPA_VOLUME, |
---|
406 | | - CS42L56_HPB_VOLUME, 0, 0x84, 0x48, hl_tlv), |
---|
| 394 | + CS42L56_HPB_VOLUME, 0, 0x44, 0x48, hl_tlv), |
---|
407 | 395 | SOC_DOUBLE_R_SX_TLV("LineOut Volume", CS42L56_LOA_VOLUME, |
---|
408 | | - CS42L56_LOB_VOLUME, 0, 0x84, 0x48, hl_tlv), |
---|
| 396 | + CS42L56_LOB_VOLUME, 0, 0x44, 0x48, hl_tlv), |
---|
409 | 397 | |
---|
410 | 398 | SOC_SINGLE_TLV("Bass Shelving Volume", CS42L56_TONE_CTL, |
---|
411 | 399 | 0, 0x00, 1, tone_tlv), |
---|
.. | .. |
---|
812 | 800 | return 0; |
---|
813 | 801 | } |
---|
814 | 802 | |
---|
815 | | -static int cs42l56_digital_mute(struct snd_soc_dai *dai, int mute) |
---|
| 803 | +static int cs42l56_mute(struct snd_soc_dai *dai, int mute, int direction) |
---|
816 | 804 | { |
---|
817 | 805 | struct snd_soc_component *component = dai->component; |
---|
818 | 806 | |
---|
.. | .. |
---|
941 | 929 | |
---|
942 | 930 | static const struct snd_soc_dai_ops cs42l56_ops = { |
---|
943 | 931 | .hw_params = cs42l56_pcm_hw_params, |
---|
944 | | - .digital_mute = cs42l56_digital_mute, |
---|
| 932 | + .mute_stream = cs42l56_mute, |
---|
945 | 933 | .set_fmt = cs42l56_set_dai_fmt, |
---|
946 | 934 | .set_sysclk = cs42l56_set_sysclk, |
---|
| 935 | + .no_capture_mute = 1, |
---|
947 | 936 | }; |
---|
948 | 937 | |
---|
949 | 938 | static struct snd_soc_dai_driver cs42l56_dai = { |
---|