Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / sound / pci / ice1712 / vt1720_mobo.c
index 3bd9262..7ca263c 100644 (file)
@@ -33,7 +33,7 @@
 #include "vt1720_mobo.h"
 
 
-static int __devinit k8x800_init(ice1712_t *ice)
+static int __devinit k8x800_init(struct snd_ice1712 *ice)
 {
        ice->vt1720 = 1;
 
@@ -47,7 +47,7 @@ static int __devinit k8x800_init(ice1712_t *ice)
        return 0;
 }
 
-static int __devinit k8x800_add_controls(ice1712_t *ice)
+static int __devinit k8x800_add_controls(struct snd_ice1712 *ice)
 {
        /* FIXME: needs some quirks for VT1616? */
        return 0;
@@ -71,6 +71,22 @@ static unsigned char k8x800_eeprom[] __devinitdata = {
        0x00,   /* - */
 };
 
+static unsigned char sn25p_eeprom[] __devinitdata = {
+       0x01,   /* SYSCONF: clock 256, 1ADC, 2DACs */
+       0x02,   /* ACLINK: ACLINK, packed */
+       0x00,   /* I2S: - */
+       0x41,   /* SPDIF: - */
+       0xff,   /* GPIO_DIR */
+       0xff,   /* GPIO_DIR1 */
+       0x00,   /* - */
+       0xff,   /* GPIO_MASK */
+       0xff,   /* GPIO_MASK1 */
+       0x00,   /* - */
+       0x00,   /* GPIO_STATE */
+       0x00,   /* GPIO_STATE1 */
+       0x00,   /* - */
+};
+
 
 /* entry point */
 struct snd_ice1712_card_info snd_vt1720_mobo_cards[] __devinitdata = {
@@ -110,6 +126,15 @@ struct snd_ice1712_card_info snd_vt1720_mobo_cards[] __devinitdata = {
                .eeprom_size = sizeof(k8x800_eeprom),
                .eeprom_data = k8x800_eeprom,
        },
+       {
+               .subvendor = VT1720_SUBDEVICE_SN25P,
+               .name = "Shuttle SN25P",
+               .model = "sn25p",
+               .chip_init = k8x800_init,
+               .build_controls = k8x800_add_controls,
+               .eeprom_size = sizeof(k8x800_eeprom),
+               .eeprom_data = sn25p_eeprom,
+       },
        { } /* terminator */
 };