]> Pileus Git - ~andy/linux/blobdiff - sound/pci/oxygen/hifier.c
[ALSA] oxygen: use SPDIF input only if present
[~andy/linux] / sound / pci / oxygen / hifier.c
index fa489ed3ed46fdcdf8b65dd9d93450de4b8a1d4c..50551ae0b3b41ecdd790212f967aeb6bd5e47928 100644 (file)
@@ -132,11 +132,6 @@ static int hifier_control_filter(struct snd_kcontrol_new *template)
                template->tlv.p = ak4396_db_scale;
        } else if (!strcmp(template->name, "Stereo Upmixing")) {
                return 1; /* stereo only - we don't need upmixing */
-       } else if (!strcmp(template->name,
-                          SNDRV_CTL_NAME_IEC958("", CAPTURE, MASK)) ||
-                  !strcmp(template->name,
-                          SNDRV_CTL_NAME_IEC958("", CAPTURE, DEFAULT))) {
-               return 1; /* no digital input */
        }
        return 0;
 }
@@ -164,7 +159,7 @@ static const struct oxygen_model model_hifier = {
                       PLAYBACK_1_TO_SPDIF |
                       CAPTURE_0_FROM_I2S_1,
        .dac_channels = 2,
-       .function_flags = 0,
+       .function_flags = OXYGEN_FUNCTION_SPI,
        .dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST,
        .adc_i2s_format = OXYGEN_I2S_FORMAT_LJUST,
 };
@@ -181,7 +176,7 @@ static int __devinit hifier_probe(struct pci_dev *pci,
                ++dev;
                return -ENOENT;
        }
-       err = oxygen_pci_probe(pci, index[dev], id[dev], 0, &model_hifier);
+       err = oxygen_pci_probe(pci, index[dev], id[dev], &model_hifier);
        if (err >= 0)
                ++dev;
        return err;