[ALSA] ice1712, ice1724 - Code clean up

Clean up ice1712/ice1724 codes.  The board-specific data is allocated
locally in each code instead of having an ungly union in struct ice1712.
Also, fix coding issues in prodigy_hifi.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Takashi Iwai
2008-01-18 13:36:07 +01:00
committed by Jaroslav Kysela
parent 797760ab14
commit 7cda8ba9f4
12 changed files with 553 additions and 403 deletions

View File

@@ -366,56 +366,7 @@ struct snd_ice1712 {
struct mutex gpio_mutex;
/* other board-specific data */
union {
/* additional i2c devices for EWS boards */
struct snd_i2c_device *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];
unsigned char pca9554_out;
} aureon;
/* AC97 register cache for Phase28 */
struct phase28_spec {
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];
unsigned int config;
unsigned short boxconfig[4];
} hoontech;
struct {
struct ak4114 *ak4114;
unsigned int analog: 1;
} juli;
struct {
struct ak4114 *ak4114;
/* rate change needs atomic mute/unmute of all dacs*/
struct mutex mute_mutex;
} prodigy192;
struct {
struct {
unsigned char ch1, ch2;
} vol[8];
} se;
struct prodigy_hifi_spec {
unsigned short master[2];
unsigned short vol[8];
} prodigy_hifi;
struct prodigy_hd2_spec {
unsigned short vol[2];
} prodigy_hd2;
} spec;
void *spec;
};