[alsa-devel] Correct use of ak4114.c?

dustin at seznam.cz dustin at seznam.cz
Tue Apr 3 23:13:53 CEST 2007


Hello Takashi,

There is a minor bug in ak4114.c, patch is below (including the reversed check, diffed against sources from hg a few hours ago). Tests show the code works fine (PCM controls get updated correctly), only sample rate is shown incorrect in "IEC958 External Rate". I will do more tests tomorrow to elaborate on the sample rate.

Thanks,

Pavel.

diff -r 05ecca0fba92 i2c/other/ak4114.c
--- a/i2c/other/ak4114.c        Tue Apr 03 13:20:49 2007 +0200
+++ b/i2c/other/ak4114.c        Tue Apr 03 21:36:18 2007 +0200
@@ -435,7 +435,7 @@ static struct snd_kcontrol_new snd_ak411
        .access =       SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
        .info =         snd_ak4114_in_bit_info,
        .get =          snd_ak4114_in_bit_get,
-       .private_value = (6<<8) | AK4114_REG_RCS1,
+       .private_value = (6<<8) | AK4114_REG_RCS0,
 },
 {
        .iface =        SNDRV_CTL_ELEM_IFACE_PCM,
@@ -443,7 +443,7 @@ static struct snd_kcontrol_new snd_ak411
        .access =       SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
        .info =         snd_ak4114_in_bit_info,
        .get =          snd_ak4114_in_bit_get,
-       .private_value = (3<<8) | AK4114_REG_RCS1,
+       .private_value = (3<<8) | AK4114_REG_RCS0,
 }
 };
 
@@ -462,7 +462,7 @@ int snd_ak4114_build(struct ak4114 *ak41
                kctl = snd_ctl_new1(&snd_ak4114_iec958_controls[idx], ak4114);
                if (kctl == NULL)
                        return -ENOMEM;
-               if (!strstr(kctl->id.name, "Playback")) {
+               if (strstr(kctl->id.name, "Playback")) {
                        if (ply_substream == NULL) {
                                snd_ctl_free_one(kctl);
                                ak4114->kctls[idx] = NULL;



More information about the Alsa-devel mailing list