diff options
author | Harry Butterworth <heb1001@gmail.com> | 2011-06-11 16:02:06 +0800 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-06-14 07:32:29 +0200 |
commit | 55309216baeb9d7f951520cf8e8bf2337cd17bad (patch) | |
tree | 8ccf7617bbf7bcd2866331e7aa5ccbac69b3fedf /sound/pci/ctxfi/cthardware.h | |
parent | 37f7ec38ea5c31180461f82e895e13fdd549b595 (diff) | |
download | linux-55309216baeb9d7f951520cf8e8bf2337cd17bad.tar.gz linux-55309216baeb9d7f951520cf8e8bf2337cd17bad.tar.bz2 linux-55309216baeb9d7f951520cf8e8bf2337cd17bad.zip |
ALSA: ctxfi: Add support for Creative Titanium HD
Initialise model-specific DAC and ADC parts.
Add controls for output and mic source selection.
Rename some mixer controls according to ControlNames.txt.
Remove Playback switches for Line-in and IEC958-in - these
were controlling the input mute/unmute which affected
capture too. Use the capture switches to control the
input mute/unmute instead - it's less confusing.
Initialise the WM8775 to invert the left-right clock
to swap the left and right channels of the mic and aux
input.
Signed-off-by: Harry Butterworth <heb1001@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/ctxfi/cthardware.h')
-rw-r--r-- | sound/pci/ctxfi/cthardware.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/pci/ctxfi/cthardware.h b/sound/pci/ctxfi/cthardware.h index af55405f5dec..de59bbf2702f 100644 --- a/sound/pci/ctxfi/cthardware.h +++ b/sound/pci/ctxfi/cthardware.h @@ -39,6 +39,7 @@ enum CTCARDS { CT20K2_MODEL_FIRST = CTSB0760, CTHENDRIX, CTSB0880, + CTSB1270, CT20K2_UNKNOWN, NUM_CTCARDS /* This should always be the last */ }; @@ -71,6 +72,13 @@ struct hw { int (*is_adc_source_selected)(struct hw *hw, enum ADCSRC source); int (*select_adc_source)(struct hw *hw, enum ADCSRC source); int (*have_digit_io_switch)(struct hw *hw); + int (*have_dedicated_mic)(struct hw *hw); + int (*have_output_switch)(struct hw *hw); + int (*output_switch_get)(struct hw *hw); + int (*output_switch_put)(struct hw *hw, int position); + int (*have_mic_source_switch)(struct hw *hw); + int (*mic_source_switch_get)(struct hw *hw); + int (*mic_source_switch_put)(struct hw *hw, int position); /* SRC operations */ int (*src_rsc_get_ctrl_blk)(void **rblk); |