Browse Source

ALSA: oxygen: add Claro halo support

Add support for the HT-Omega Claro halo (XT).

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch 16 years ago
parent
commit
de04b102bf

+ 2 - 1
Documentation/sound/alsa/ALSA-Configuration.txt

@@ -1647,7 +1647,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
     * AuzenTech X-Meridian
     * AuzenTech X-Meridian
     * Bgears b-Enspirer
     * Bgears b-Enspirer
     * Club3D Theatron DTS
     * Club3D Theatron DTS
-    * HT-Omega Claro
+    * HT-Omega Claro (plus)
+    * HT-Omega Claro halo (XT)
     * Razer Barracuda AC-1
     * Razer Barracuda AC-1
     * Sondigo Inferno
     * Sondigo Inferno
 
 

+ 2 - 1
sound/pci/Kconfig

@@ -208,7 +208,8 @@ config SND_OXYGEN
 	   * AuzenTech X-Meridian
 	   * AuzenTech X-Meridian
 	   * Bgears b-Enspirer
 	   * Bgears b-Enspirer
 	   * Club3D Theatron DTS
 	   * Club3D Theatron DTS
-	   * HT-Omega Claro
+	   * HT-Omega Claro (plus)
+	   * HT-Omega Claro halo (XT)
 	   * Razer Barracuda AC-1
 	   * Razer Barracuda AC-1
 	   * Sondigo Inferno
 	   * Sondigo Inferno
 
 

+ 4 - 0
sound/pci/oxygen/oxygen.c

@@ -61,6 +61,7 @@ MODULE_PARM_DESC(enable, "enable card");
 enum {
 enum {
 	MODEL_CMEDIA_REF,	/* C-Media's reference design */
 	MODEL_CMEDIA_REF,	/* C-Media's reference design */
 	MODEL_MERIDIAN,		/* AuzenTech X-Meridian */
 	MODEL_MERIDIAN,		/* AuzenTech X-Meridian */
+	MODEL_HALO,		/* HT-Omega Claro halo */
 };
 };
 
 
 static struct pci_device_id oxygen_ids[] __devinitdata = {
 static struct pci_device_id oxygen_ids[] __devinitdata = {
@@ -74,6 +75,7 @@ static struct pci_device_id oxygen_ids[] __devinitdata = {
 	{ OXYGEN_PCI_SUBID(0x1a58, 0x0910), .driver_data = MODEL_CMEDIA_REF },
 	{ OXYGEN_PCI_SUBID(0x1a58, 0x0910), .driver_data = MODEL_CMEDIA_REF },
 	{ OXYGEN_PCI_SUBID(0x415a, 0x5431), .driver_data = MODEL_MERIDIAN },
 	{ OXYGEN_PCI_SUBID(0x415a, 0x5431), .driver_data = MODEL_MERIDIAN },
 	{ OXYGEN_PCI_SUBID(0x7284, 0x9761), .driver_data = MODEL_CMEDIA_REF },
 	{ OXYGEN_PCI_SUBID(0x7284, 0x9761), .driver_data = MODEL_CMEDIA_REF },
+	{ OXYGEN_PCI_SUBID(0x7284, 0x9781), .driver_data = MODEL_HALO },
 	{ }
 	{ }
 };
 };
 MODULE_DEVICE_TABLE(pci, oxygen_ids);
 MODULE_DEVICE_TABLE(pci, oxygen_ids);
@@ -301,6 +303,8 @@ static int generic_probe(struct oxygen *chip, unsigned long driver_data)
 					    PLAYBACK_1_TO_SPDIF |
 					    PLAYBACK_1_TO_SPDIF |
 					    CAPTURE_0_FROM_I2S_2 |
 					    CAPTURE_0_FROM_I2S_2 |
 					    CAPTURE_1_FROM_SPDIF;
 					    CAPTURE_1_FROM_SPDIF;
+	}
+	if (driver_data == MODEL_MERIDIAN || driver_data == MODEL_HALO) {
 		chip->model.misc_flags = OXYGEN_MISC_MIDI;
 		chip->model.misc_flags = OXYGEN_MISC_MIDI;
 		chip->model.device_config |= MIDI_OUTPUT | MIDI_INPUT;
 		chip->model.device_config |= MIDI_OUTPUT | MIDI_INPUT;
 	}
 	}