ac97_dev
static void stac9721_init(ac97_dev *dev);
stac9721_init(ac97_dev *dev)
static void stac9744_init(ac97_dev *dev);
static void stac9756_init(ac97_dev *dev);
stac9744_init(ac97_dev *dev)
static void stac9758_init(ac97_dev *dev);
static void tr28028_init(ac97_dev *dev);
stac9756_init(ac97_dev *dev)
static void wm9701_init(ac97_dev *dev);
static void wm9703_init(ac97_dev *dev);
stac9758_init(ac97_dev *dev)
static void wm9704_init(ac97_dev *dev);
tr28028_init(ac97_dev *dev)
bool ad1819_set_rate(ac97_dev *dev, uint8 reg, uint32 rate);
wm9701_init(ac97_dev *dev)
bool ad1819_get_rate(ac97_dev *dev, uint8 reg, uint32 *rate);
wm9703_init(ac97_dev *dev)
wm9704_init(ac97_dev *dev)
ac97_attach(ac97_dev **_dev, codec_reg_read reg_read, codec_reg_write reg_write, void *cookie,
ac97_dev *dev;
*_dev = dev = (ac97_dev *) malloc(sizeof(ac97_dev));
ac97_detach(ac97_dev *dev)
ac97_suspend(ac97_dev *dev)
ac97_resume(ac97_dev *dev)
ac97_reg_cached_write(ac97_dev *dev, uint8 reg, uint16 value)
ac97_reg_cached_read(ac97_dev *dev, uint8 reg)
ac97_reg_uncached_write(ac97_dev *dev, uint8 reg, uint16 value)
ac97_reg_uncached_read(ac97_dev *dev, uint8 reg)
ac97_reg_update(ac97_dev *dev, uint8 reg, uint16 value)
ac97_reg_update_bits(ac97_dev *dev, uint8 reg, uint16 mask, uint16 value)
ac97_update_register_cache(ac97_dev *dev)
bool ac97_reg_is_valid(ac97_dev *dev, uint8 reg);
ac97_set_rate(ac97_dev *dev, uint8 reg, uint32 rate)
void ac97_amp_enable(ac97_dev *dev, bool onoff);
void ac97_dump_capabilities(ac97_dev *dev);
void ac97_detect_capabilities(ac97_dev *dev);
ac97_get_rate(ac97_dev *dev, uint8 reg, uint32 *rate)
void ac97_detect_rates(ac97_dev *dev);
void ac97_update_register_cache(ac97_dev *dev);
ac97_set_clock(ac97_dev *dev, uint32 clock)
ac97_detect_capabilities(ac97_dev *dev)
ac97_detect_rates(ac97_dev *dev)
ac97_dump_capabilities(ac97_dev *dev)
ac97_has_capability(ac97_dev *dev, uint64 cap)
ac97_reg_is_valid(ac97_dev *dev, uint8 reg)
ac97_amp_enable(ac97_dev *dev, bool yesno)
ad1819_set_rate(ac97_dev *dev, uint8 reg, uint32 rate)
ad1819_get_rate(ac97_dev *dev, uint8 reg, uint32 *rate)
default_init(ac97_dev *dev)
ad1819_init(ac97_dev *dev)
ad1881_init(ac97_dev *dev)
ad1885_init(ac97_dev *dev)
ad1886_init(ac97_dev *dev)
static void default_init(ac97_dev *dev);
ad1980_init(ac97_dev *dev)
static void ad1819_init(ac97_dev *dev);
static void ad1881_init(ac97_dev *dev);
ad1981b_init(ac97_dev *dev)
static void ad1885_init(ac97_dev *dev);
static void ad1886_init(ac97_dev *dev);
alc203_init(ac97_dev *dev)
static void ad1980_init(ac97_dev *dev);
alc650_init(ac97_dev *dev)
static void ad1981b_init(ac97_dev *dev);
static void alc203_init(ac97_dev *dev);
alc655_init(ac97_dev *dev)
static void alc650_init(ac97_dev *dev);
static void alc655_init(ac97_dev *dev);
alc850_init(ac97_dev *dev)
static void alc850_init(ac97_dev *dev);
stac9708_init(ac97_dev *dev)
static void stac9708_init(ac97_dev *dev);
struct ac97_dev;
typedef struct ac97_dev ac97_dev;
typedef void (* codec_init)(ac97_dev * dev);
typedef bool (* codec_set_rate)(ac97_dev *dev, uint8 reg, uint32 rate);
typedef bool (* codec_get_rate)(ac97_dev *dev, uint8 reg, uint32 *rate);
void ac97_attach(ac97_dev **dev, codec_reg_read reg_read,
void ac97_detach(ac97_dev *dev);
void ac97_suspend(ac97_dev *dev);
void ac97_resume(ac97_dev *dev);
void ac97_reg_cached_write(ac97_dev *dev, uint8 reg, uint16 value);
uint16 ac97_reg_cached_read(ac97_dev *dev, uint8 reg);
void ac97_reg_uncached_write(ac97_dev *dev, uint8 reg, uint16 value);
uint16 ac97_reg_uncached_read(ac97_dev *dev, uint8 reg);
bool ac97_reg_update(ac97_dev *dev, uint8 reg, uint16 value);
bool ac97_reg_update_bits(ac97_dev *dev, uint8 reg, uint16 mask,
bool ac97_set_rate(ac97_dev *dev, uint8 reg, uint32 rate);
bool ac97_get_rate(ac97_dev *dev, uint8 reg, uint32 *rate);
bool ac97_has_capability(ac97_dev *dev, uint64 cap);
void ac97_set_clock(ac97_dev *dev, uint32 clock);
ac97_dev *ac97;
ac97_dev *ac97;
ac97_dev * ac97;
ac97_dev* fAC97Dev;