X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=sound%2Fpci%2Fice1712%2Fice1712.h;h=6ac486d9c138a96dcdc50a23c21a5a770a6d6709;hb=edec7bbb22dafdab5f8eae4f049ad9d0f615abc4;hp=ce27eac40d4e15d5e8e10a5f3e94b65cda98d90b;hpb=2a2ed2db353d949c06b6ef8b6913f65b39111eab;p=linux-2.6-block.git diff --git a/sound/pci/ice1712/ice1712.h b/sound/pci/ice1712/ice1712.h index ce27eac40d4e..6ac486d9c138 100644 --- a/sound/pci/ice1712/ice1712.h +++ b/sound/pci/ice1712/ice1712.h @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -381,6 +382,11 @@ struct snd_ice1712 { unsigned short master[2]; unsigned short vol[8]; } phase28; + /* a non-standard I2C device for revo51 */ + struct revo51_spec { + struct snd_i2c_device *dev; + struct snd_pt2258 *pt2258; + } revo51; /* Hoontech-specific setting */ struct hoontech_spec { unsigned char boxbits[4]; @@ -391,6 +397,9 @@ struct snd_ice1712 { struct ak4114 *ak4114; unsigned int analog: 1; } juli; + struct { + struct ak4114 *ak4114; + } prodigy192; } spec; }; @@ -462,6 +471,14 @@ static inline void snd_ice1712_gpio_write_bits(struct snd_ice1712 *ice, snd_ice1712_gpio_write(ice, mask & bits); } +static inline int snd_ice1712_gpio_read_bits(struct snd_ice1712 *ice, + unsigned int mask) +{ + ice->gpio.direction &= ~mask; + snd_ice1712_gpio_set_dir(ice, ice->gpio.direction); + return (snd_ice1712_gpio_read(ice) & mask); +} + int snd_ice1712_spdif_build_controls(struct snd_ice1712 *ice); int snd_ice1712_akm4xxx_init(struct snd_akm4xxx *ak, const struct snd_akm4xxx *template, @@ -500,8 +517,8 @@ struct snd_ice1712_card_info { unsigned int mpu401_2_info_flags; const char *mpu401_1_name; const char *mpu401_2_name; - unsigned int eeprom_size; - unsigned char *eeprom_data; + const unsigned int eeprom_size; + const unsigned char *eeprom_data; };