.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * alc5623.c -- alc562[123] ALSA Soc Audio driver |
---|
3 | 4 | * |
---|
.. | .. |
---|
6 | 7 | * |
---|
7 | 8 | * Copyright 2010 Arnaud Patard <arnaud.patard@rtp-net.org> |
---|
8 | 9 | * |
---|
9 | | - * |
---|
10 | 10 | * Based on WM8753.c |
---|
11 | | - * |
---|
12 | | - * This program is free software; you can redistribute it and/or modify |
---|
13 | | - * it under the terms of the GNU General Public License version 2 as |
---|
14 | | - * published by the Free Software Foundation. |
---|
15 | | - * |
---|
16 | 11 | */ |
---|
17 | 12 | |
---|
18 | 13 | #include <linux/module.h> |
---|
.. | .. |
---|
539 | 534 | 0); |
---|
540 | 535 | |
---|
541 | 536 | /* pll is not used in slave mode */ |
---|
542 | | - reg = snd_soc_component_read32(component, ALC5623_DAI_CONTROL); |
---|
| 537 | + reg = snd_soc_component_read(component, ALC5623_DAI_CONTROL); |
---|
543 | 538 | if (reg & ALC5623_DAI_SDP_SLAVE_MODE) |
---|
544 | 539 | return 0; |
---|
545 | 540 | |
---|
.. | .. |
---|
706 | 701 | int coeff, rate; |
---|
707 | 702 | u16 iface; |
---|
708 | 703 | |
---|
709 | | - iface = snd_soc_component_read32(component, ALC5623_DAI_CONTROL); |
---|
| 704 | + iface = snd_soc_component_read(component, ALC5623_DAI_CONTROL); |
---|
710 | 705 | iface &= ~ALC5623_DAI_I2S_DL_MASK; |
---|
711 | 706 | |
---|
712 | 707 | /* bit size */ |
---|
.. | .. |
---|
742 | 737 | return 0; |
---|
743 | 738 | } |
---|
744 | 739 | |
---|
745 | | -static int alc5623_mute(struct snd_soc_dai *dai, int mute) |
---|
| 740 | +static int alc5623_mute(struct snd_soc_dai *dai, int mute, int direction) |
---|
746 | 741 | { |
---|
747 | 742 | struct snd_soc_component *component = dai->component; |
---|
748 | 743 | u16 hp_mute = ALC5623_MISC_M_DAC_L_INPUT | ALC5623_MISC_M_DAC_R_INPUT; |
---|
749 | | - u16 mute_reg = snd_soc_component_read32(component, ALC5623_MISC_CTRL) & ~hp_mute; |
---|
| 744 | + u16 mute_reg = snd_soc_component_read(component, ALC5623_MISC_CTRL) & ~hp_mute; |
---|
750 | 745 | |
---|
751 | 746 | if (mute) |
---|
752 | 747 | mute_reg |= hp_mute; |
---|
.. | .. |
---|
834 | 829 | |
---|
835 | 830 | static const struct snd_soc_dai_ops alc5623_dai_ops = { |
---|
836 | 831 | .hw_params = alc5623_pcm_hw_params, |
---|
837 | | - .digital_mute = alc5623_mute, |
---|
| 832 | + .mute_stream = alc5623_mute, |
---|
838 | 833 | .set_fmt = alc5623_set_dai_fmt, |
---|
839 | 834 | .set_sysclk = alc5623_set_dai_sysclk, |
---|
840 | 835 | .set_pll = alc5623_set_dai_pll, |
---|
| 836 | + .no_capture_mute = 1, |
---|
841 | 837 | }; |
---|
842 | 838 | |
---|
843 | 839 | static struct snd_soc_dai_driver alc5623_dai = { |
---|