summaryrefslogtreecommitdiff
path: root/sys/dev/pci/azalia.h
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2006-06-14 19:34:53 +0000
committerBrad Smith <brad@cvs.openbsd.org>2006-06-14 19:34:53 +0000
commit481b3dc96c8ad336d74962fc94ec5a152c804213 (patch)
treef0089b9be45d6cd5702e157ca4157d4c5c1abac4 /sys/dev/pci/azalia.h
parent847bf49bad264b13a0af4189e5a09ab523bd15fb (diff)
* move mixer functions from azalia.c to azalia_codec.c, and
rename them like azalia_mixer_foo() to azalia_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 From kent NetBSD ok jason@
Diffstat (limited to 'sys/dev/pci/azalia.h')
-rw-r--r--sys/dev/pci/azalia.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/pci/azalia.h b/sys/dev/pci/azalia.h
index 9e601926a77..0c79899a1ca 100644
--- a/sys/dev/pci/azalia.h
+++ b/sys/dev/pci/azalia.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: azalia.h,v 1.6 2006/05/11 23:34:35 brad Exp $ */
+/* $OpenBSD: azalia.h,v 1.7 2006/06/14 19:34:52 brad Exp $ */
/* $NetBSD: azalia.h,v 1.6 2006/01/16 14:15:26 kent Exp $ */
/*-
@@ -518,8 +518,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;
@@ -536,6 +542,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;
@@ -546,4 +553,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 *);