ALSA: ice1712: Add support for Edirol DA-2496
authorGarnet MacPhee <dhubsith@comcast.net>
Sat, 21 Aug 2010 20:37:34 +0000 (14:37 -0600)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 Aug 2010 06:05:46 +0000 (08:05 +0200)
This device is similar to the M-Audio Delta 1010LT in that it uses the
AK4524VF ADC/DAC, but it does not use the CS8427 for SPDIF.

The SPDIF appears to be set up correctly, but I am not able to test it
as I do not have any devices that use it.

This patch makes the ADC/DAC's and the hardware mixer visible to apps
such as alsamixer and envy24control.

Signed-off-by: Garnet MacPhee <dhubsith@comcast.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/ice1712/delta.c
sound/pci/ice1712/delta.h

index d216362..712c171 100644 (file)
@@ -563,6 +563,7 @@ static int __devinit snd_ice1712_delta_init(struct snd_ice1712 *ice)
        case ICE1712_SUBDEVICE_DELTA1010E:
        case ICE1712_SUBDEVICE_DELTA1010LT:
        case ICE1712_SUBDEVICE_MEDIASTATION:
+       case ICE1712_SUBDEVICE_EDIROLDA2496:
                ice->num_total_dacs = 8;
                ice->num_total_adcs = 8;
                break;
@@ -635,6 +636,7 @@ static int __devinit snd_ice1712_delta_init(struct snd_ice1712 *ice)
                err = snd_ice1712_akm4xxx_init(ak, &akm_delta410, &akm_delta410_priv, ice);
                break;
        case ICE1712_SUBDEVICE_DELTA1010LT:
+       case ICE1712_SUBDEVICE_EDIROLDA2496:
                err = snd_ice1712_akm4xxx_init(ak, &akm_delta1010lt, &akm_delta1010lt_priv, ice);
                break;
        case ICE1712_SUBDEVICE_DELTA66:
@@ -734,6 +736,7 @@ static int __devinit snd_ice1712_delta_add_controls(struct snd_ice1712 *ice)
        case ICE1712_SUBDEVICE_DELTA66:
        case ICE1712_SUBDEVICE_VX442:
        case ICE1712_SUBDEVICE_DELTA66E:
+       case ICE1712_SUBDEVICE_EDIROLDA2496:
                err = snd_ice1712_akm4xxx_build_controls(ice);
                if (err < 0)
                        return err;
@@ -813,5 +816,12 @@ struct snd_ice1712_card_info snd_ice1712_delta_cards[] __devinitdata = {
                .chip_init = snd_ice1712_delta_init,
                .build_controls = snd_ice1712_delta_add_controls,
        },
+       {
+               .subvendor = ICE1712_SUBDEVICE_EDIROLDA2496,
+               .name = "Edirol DA2496",
+               .model = "da2496",
+               .chip_init = snd_ice1712_delta_init,
+               .build_controls = snd_ice1712_delta_add_controls,
+       },
        { } /* terminator */
 };
index f7f14df..1a0ac6c 100644 (file)
@@ -34,7 +34,8 @@
                "{MidiMan M Audio,Delta 410},"\
                "{MidiMan M Audio,Audiophile 24/96},"\
                "{Digigram,VX442},"\
-               "{Lionstracs,Mediastation},"
+               "{Lionstracs,Mediastation},"\
+               "{Edirol,DA2496},"
 
 #define ICE1712_SUBDEVICE_DELTA1010    0x121430d6
 #define ICE1712_SUBDEVICE_DELTA1010E   0xff1430d6
@@ -47,6 +48,7 @@
 #define ICE1712_SUBDEVICE_DELTA1010LT  0x12143bd6
 #define ICE1712_SUBDEVICE_VX442                0x12143cd6
 #define ICE1712_SUBDEVICE_MEDIASTATION 0x694c0100
+#define ICE1712_SUBDEVICE_EDIROLDA2496 0xce164010
 
 /* entry point */
 extern struct snd_ice1712_card_info snd_ice1712_delta_cards[];