* move mixer functions from azalia.c to azalia_codec.c, and

rename them like azalia_mixer_foo() to generic_mixer_foo()

* enable codec-specific code to hook any mixer operations such
as creating mixer items, or special handling for a specific
item.

* provide a custom mixer table specific to ALC260
* provide a custom mixer table specific to Fujitsu LOOX
This commit is contained in:
kent 2006-06-07 15:23:59 +00:00
parent 64bfe27594
commit 0b0ab7efe7
3 changed files with 1329 additions and 1032 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
/* $NetBSD: azalia.h,v 1.6 2006/01/16 14:15:26 kent Exp $ */
/* $NetBSD: azalia.h,v 1.7 2006/06/07 15:23:59 kent Exp $ */
/*-
* Copyright (c) 2005 The NetBSD Foundation, Inc.
@ -520,8 +520,14 @@ typedef struct codec_t {
int (*comresp)(const struct codec_t *, nid_t, uint32_t, uint32_t, uint32_t *);
int (*init_dacgroup)(struct codec_t *);
int (*init_widget)(const struct codec_t *, widget_t *, nid_t);
int (*mixer_init)(struct codec_t *);
int (*mixer_delete)(struct codec_t *);
int (*set_port)(struct codec_t *, mixer_ctrl_t *);
int (*get_port)(struct codec_t *, mixer_ctrl_t *);
struct azalia_t *az;
uint32_t vid; /* codec vendor/device ID */
uint32_t subid; /* PCI subvendor/device ID */
const char *name;
int address;
int nfunctions;
@ -538,6 +544,7 @@ typedef struct codec_t {
int nadcs;
nid_t adcs[32];
int cur_adc; /* currently selected ADC index */
int running;
int nmixers, maxmixers;
mixer_item_t *mixers;
@ -548,4 +555,5 @@ typedef struct codec_t {
} codec_t;
int azalia_codec_init_vtbl(codec_t *, uint32_t);
int azalia_codec_init_vtbl(codec_t *);
int azalia_codec_construct_format(codec_t *);

File diff suppressed because it is too large Load Diff