hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/sound/i2c/cs8427.c
....@@ -1,23 +1,8 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * Routines for control of the CS8427 via i2c bus
34 * IEC958 (S/PDIF) receiver & transmitter by Cirrus Logic
45 * Copyright (c) by Jaroslav Kysela <perex@perex.cz>
5
- *
6
- *
7
- * This program is free software; you can redistribute it and/or modify
8
- * it under the terms of the GNU General Public License as published by
9
- * the Free Software Foundation; either version 2 of the License, or
10
- * (at your option) any later version.
11
- *
12
- * This program is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- * GNU General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU General Public License
18
- * along with this program; if not, write to the Free Software
19
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
- *
216 */
227
238 #include <linux/slab.h>
....@@ -474,7 +459,7 @@
474459 return 0;
475460 }
476461
477
-static struct snd_kcontrol_new snd_cs8427_iec958_controls[] = {
462
+static const struct snd_kcontrol_new snd_cs8427_iec958_controls[] = {
478463 {
479464 .iface = SNDRV_CTL_ELEM_IFACE_PCM,
480465 .info = snd_cs8427_in_status_info,
....@@ -568,10 +553,13 @@
568553 if (snd_BUG_ON(!cs8427))
569554 return -ENXIO;
570555 chip = cs8427->private_data;
571
- if (active)
556
+ if (active) {
572557 memcpy(chip->playback.pcm_status,
573558 chip->playback.def_status, 24);
574
- chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
559
+ chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
560
+ } else {
561
+ chip->playback.pcm_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE;
562
+ }
575563 snd_ctl_notify(cs8427->bus->card,
576564 SNDRV_CTL_EVENT_MASK_VALUE | SNDRV_CTL_EVENT_MASK_INFO,
577565 &chip->playback.pcm_ctl->id);