#include <sound/rawmidi.h>
#include <sound/i2c.h>
#include <sound/ak4xxx-adda.h>
+#include <sound/ak4114.h>
#include <sound/pcm.h>
struct semaphore open_mutex;
snd_pcm_substream_t *pcm_reserved[4];
+ snd_pcm_hw_constraint_list_t *hw_rates; /* card-specific rate constraints */
unsigned int akm_codecs;
akm4xxx_t *akm;
struct snd_ice1712_spdif spdif;
+ struct semaphore i2c_mutex; /* I2C mutex for ICE1724 registers */
snd_i2c_bus_t *i2c; /* I2C bus */
snd_i2c_device_t *cs8427; /* CS8427 I2C device */
unsigned int cs8427_timeout; /* CS8427 reset timeout in HZ/100 */
unsigned int (*get_data)(ice1712_t *ice);
/* misc operators - move to another place? */
void (*set_pro_rate)(ice1712_t *ice, unsigned int rate);
+ void (*i2s_mclk_changed)(ice1712_t *ice);
} gpio;
struct semaphore gpio_mutex;
/* other board-specific data */
union {
- /* additional i2c devices for EWS boards*/
+ /* additional i2c devices for EWS boards */
snd_i2c_device_t *i2cdevs[3];
/* AC97 register cache for Aureon */
struct aureon_spec {
unsigned int config;
unsigned short boxconfig[4];
} hoontech;
+ struct {
+ ak4114_t *ak4114;
+ unsigned int analog: 1;
+ } juli;
} spec;
};
char *driver;
int (*chip_init)(ice1712_t *);
int (*build_controls)(ice1712_t *);
- int no_mpu401: 1;
+ unsigned int no_mpu401: 1;
unsigned int eeprom_size;
unsigned char *eeprom_data;
};