vserver 1.9.5.x5
[linux-2.6.git] / sound / pci / ice1712 / ice1712.h
index 1d8998f..4464dd8 100644 (file)
@@ -331,9 +331,6 @@ struct _snd_ice1712 {
        unsigned int force_rdma1: 1;    /* VT1720/4 - RDMA1 as non-spdif */
        unsigned int num_total_dacs;    /* total DACs */
        unsigned int num_total_adcs;    /* total ADCs */
-       unsigned char hoontech_boxbits[4];
-       unsigned int hoontech_config;
-       unsigned short hoontech_boxconfig[4];
        unsigned int cur_rate;          /* current rate */
 
        struct semaphore open_mutex;
@@ -344,10 +341,8 @@ struct _snd_ice1712 {
        struct snd_ice1712_spdif spdif;
 
        snd_i2c_bus_t *i2c;             /* I2C bus */
-       snd_i2c_device_t *cs8404;       /* CS8404A I2C device */
        snd_i2c_device_t *cs8427;       /* CS8427 I2C device */
        unsigned int cs8427_timeout;    /* CS8427 reset timeout in HZ/100 */
-       snd_i2c_device_t *i2cdevs[2];   /* additional i2c devices */
        
        struct ice1712_gpio {
                unsigned int direction;         /* current direction bits */
@@ -362,6 +357,26 @@ struct _snd_ice1712 {
                void (*set_pro_rate)(ice1712_t *ice, unsigned int rate);
        } gpio;
        struct semaphore gpio_mutex;
+
+       /* other board-specific data */
+       union {
+               /* additional i2c devices for EWS boards*/
+               snd_i2c_device_t *i2cdevs[3];
+               /* AC97 register cache for Aureon */
+               struct aureon_spec {
+                       unsigned short stac9744[64];
+                       unsigned int cs8415_mux;
+                       unsigned short master[2];
+                       unsigned short vol[8];
+               } aureon;
+               /* Hoontech-specific setting */
+               struct hoontech_spec {
+                       unsigned char boxbits[4];
+                       unsigned int config;
+                       unsigned short boxconfig[4];
+               } hoontech;
+       } spec;
+
 };