diff options
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 1 | ||||
-rw-r--r-- | sound/pci/Kconfig | 1 | ||||
-rw-r--r-- | sound/pci/oxygen/oxygen.c | 27 |
3 files changed, 16 insertions, 13 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index fdd388ded62a..7124340038ea 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -1535,6 +1535,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1535 | * Razer Barracuda AC-1 | 1535 | * Razer Barracuda AC-1 |
1536 | * Sondigo Inferno | 1536 | * Sondigo Inferno |
1537 | * TempoTec HiFier Fantasia | 1537 | * TempoTec HiFier Fantasia |
1538 | * TempoTec HiFier Serenade | ||
1538 | 1539 | ||
1539 | This module supports autoprobe and multiple cards. | 1540 | This module supports autoprobe and multiple cards. |
1540 | 1541 | ||
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig index f7139d09cbbe..5add96bdf172 100644 --- a/sound/pci/Kconfig +++ b/sound/pci/Kconfig | |||
@@ -226,6 +226,7 @@ config SND_OXYGEN | |||
226 | * Razer Barracuda AC-1 | 226 | * Razer Barracuda AC-1 |
227 | * Sondigo Inferno | 227 | * Sondigo Inferno |
228 | * TempoTec/MediaTek HiFier Fantasia | 228 | * TempoTec/MediaTek HiFier Fantasia |
229 | * TempoTec/MediaTek HiFier Serenade | ||
229 | 230 | ||
230 | To compile this driver as a module, choose M here: the module | 231 | To compile this driver as a module, choose M here: the module |
231 | will be called snd-oxygen. | 232 | will be called snd-oxygen. |
diff --git a/sound/pci/oxygen/oxygen.c b/sound/pci/oxygen/oxygen.c index 13f39e58f3de..ea8fffefad9f 100644 --- a/sound/pci/oxygen/oxygen.c +++ b/sound/pci/oxygen/oxygen.c | |||
@@ -70,8 +70,8 @@ enum { | |||
70 | MODEL_MERIDIAN, | 70 | MODEL_MERIDIAN, |
71 | MODEL_CLARO, | 71 | MODEL_CLARO, |
72 | MODEL_CLARO_HALO, | 72 | MODEL_CLARO_HALO, |
73 | MODEL_HIFIER, | 73 | MODEL_FANTASIA, |
74 | MODEL_HG2PCI, | 74 | MODEL_2CH_OUTPUT, |
75 | }; | 75 | }; |
76 | 76 | ||
77 | static DEFINE_PCI_DEVICE_TABLE(oxygen_ids) = { | 77 | static DEFINE_PCI_DEVICE_TABLE(oxygen_ids) = { |
@@ -85,10 +85,11 @@ static DEFINE_PCI_DEVICE_TABLE(oxygen_ids) = { | |||
85 | { OXYGEN_PCI_SUBID(0x147a, 0xa017), .driver_data = MODEL_CMEDIA_REF }, | 85 | { OXYGEN_PCI_SUBID(0x147a, 0xa017), .driver_data = MODEL_CMEDIA_REF }, |
86 | { OXYGEN_PCI_SUBID(0x1a58, 0x0910), .driver_data = MODEL_CMEDIA_REF }, | 86 | { OXYGEN_PCI_SUBID(0x1a58, 0x0910), .driver_data = MODEL_CMEDIA_REF }, |
87 | /* Kuroutoshikou CMI8787-HG2PCI */ | 87 | /* Kuroutoshikou CMI8787-HG2PCI */ |
88 | { OXYGEN_PCI_SUBID(0x13f6, 0xffff), .driver_data = MODEL_HG2PCI }, | 88 | { OXYGEN_PCI_SUBID(0x13f6, 0xffff), .driver_data = MODEL_2CH_OUTPUT }, |
89 | /* TempoTec HiFier Fantasia */ | 89 | /* TempoTec HiFier Fantasia */ |
90 | { OXYGEN_PCI_SUBID(0x14c3, 0x1710), .driver_data = MODEL_HIFIER }, | 90 | { OXYGEN_PCI_SUBID(0x14c3, 0x1710), .driver_data = MODEL_FANTASIA }, |
91 | { OXYGEN_PCI_SUBID(0x14c3, 0x1711), .driver_data = MODEL_HIFIER }, | 91 | /* TempoTec HiFier Serenade */ |
92 | { OXYGEN_PCI_SUBID(0x14c3, 0x1711), .driver_data = MODEL_2CH_OUTPUT }, | ||
92 | /* AuzenTech X-Meridian */ | 93 | /* AuzenTech X-Meridian */ |
93 | { OXYGEN_PCI_SUBID(0x415a, 0x5431), .driver_data = MODEL_MERIDIAN }, | 94 | { OXYGEN_PCI_SUBID(0x415a, 0x5431), .driver_data = MODEL_MERIDIAN }, |
94 | /* HT-Omega Claro */ | 95 | /* HT-Omega Claro */ |
@@ -244,13 +245,13 @@ static void claro_halo_init(struct oxygen *chip) | |||
244 | claro_enable_hp(chip); | 245 | claro_enable_hp(chip); |
245 | } | 246 | } |
246 | 247 | ||
247 | static void hifier_init(struct oxygen *chip) | 248 | static void fantasia_init(struct oxygen *chip) |
248 | { | 249 | { |
249 | ak4396_init(chip); | 250 | ak4396_init(chip); |
250 | snd_component_add(chip->card, "CS5340"); | 251 | snd_component_add(chip->card, "CS5340"); |
251 | } | 252 | } |
252 | 253 | ||
253 | static void hg2pci_init(struct oxygen *chip) | 254 | static void stereo_output_init(struct oxygen *chip) |
254 | { | 255 | { |
255 | ak4396_init(chip); | 256 | ak4396_init(chip); |
256 | } | 257 | } |
@@ -583,20 +584,20 @@ static int __devinit get_oxygen_model(struct oxygen *chip, | |||
583 | CAPTURE_0_FROM_I2S_2 | | 584 | CAPTURE_0_FROM_I2S_2 | |
584 | CAPTURE_1_FROM_SPDIF; | 585 | CAPTURE_1_FROM_SPDIF; |
585 | break; | 586 | break; |
586 | case MODEL_HIFIER: | 587 | case MODEL_FANTASIA: |
587 | case MODEL_HG2PCI: | 588 | case MODEL_2CH_OUTPUT: |
588 | chip->model.shortname = "C-Media CMI8787"; | 589 | chip->model.shortname = "C-Media CMI8787"; |
589 | chip->model.chip = "CMI8787"; | 590 | chip->model.chip = "CMI8787"; |
590 | if (id->driver_data == MODEL_HIFIER) | 591 | if (id->driver_data == MODEL_FANTASIA) |
591 | chip->model.init = hifier_init; | 592 | chip->model.init = fantasia_init; |
592 | else | 593 | else |
593 | chip->model.init = hg2pci_init; | 594 | chip->model.init = stereo_output_init; |
594 | chip->model.resume = stereo_resume; | 595 | chip->model.resume = stereo_resume; |
595 | chip->model.mixer_init = generic_mixer_init; | 596 | chip->model.mixer_init = generic_mixer_init; |
596 | chip->model.set_adc_params = set_no_params; | 597 | chip->model.set_adc_params = set_no_params; |
597 | chip->model.device_config = PLAYBACK_0_TO_I2S | | 598 | chip->model.device_config = PLAYBACK_0_TO_I2S | |
598 | PLAYBACK_1_TO_SPDIF; | 599 | PLAYBACK_1_TO_SPDIF; |
599 | if (id->driver_data == MODEL_HIFIER) | 600 | if (id->driver_data == MODEL_FANTASIA) |
600 | chip->model.device_config |= CAPTURE_0_FROM_I2S_1; | 601 | chip->model.device_config |= CAPTURE_0_FROM_I2S_1; |
601 | chip->model.dac_channels = 2; | 602 | chip->model.dac_channels = 2; |
602 | break; | 603 | break; |