diff options
author | Sasha Khapyorsky <sashak@smlink.com> | 2005-05-29 09:08:23 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-06-22 06:27:18 -0400 |
commit | 87d61c290b5de63cc18ed5ec8103e30fe297373e (patch) | |
tree | ed902b08203677cb508e35340705613082e3d1dd /sound/pci/ac97/ac97_patch.c | |
parent | 8fabab15dc64d4aaed0e9dddf3482c128a0347a2 (diff) |
[ALSA] MC97 modem mixer in sound/pci/ac97
AC97 Codec
Simple MC97 modem mixer with two common controls: Off-hook and CID,
and Si3056 MC specific control: Modem Speaker.
Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/ac97/ac97_patch.c')
-rw-r--r-- | sound/pci/ac97/ac97_patch.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c index b81064133c61..a15eb8522b7c 100644 --- a/sound/pci/ac97/ac97_patch.c +++ b/sound/pci/ac97/ac97_patch.c | |||
@@ -2459,12 +2459,29 @@ int patch_it2646(ac97_t * ac97) | |||
2459 | return 0; | 2459 | return 0; |
2460 | } | 2460 | } |
2461 | 2461 | ||
2462 | /* Si3036/8 specific registers */ | 2462 | /* |
2463 | * Si3036 codec | ||
2464 | */ | ||
2465 | |||
2463 | #define AC97_SI3036_CHIP_ID 0x5a | 2466 | #define AC97_SI3036_CHIP_ID 0x5a |
2467 | #define AC97_SI3036_LINE_CFG 0x5c | ||
2468 | |||
2469 | static const snd_kcontrol_new_t snd_ac97_controls_si3036[] = { | ||
2470 | AC97_DOUBLE("Modem Speaker Volume", 0x5c, 14, 12, 3, 1) | ||
2471 | }; | ||
2472 | |||
2473 | static int patch_si3036_specific(ac97_t * ac97) | ||
2474 | { | ||
2475 | return patch_build_controls(ac97, snd_ac97_controls_si3036, ARRAY_SIZE(snd_ac97_controls_si3036)); | ||
2476 | } | ||
2477 | |||
2478 | static struct snd_ac97_build_ops patch_si3036_ops = { | ||
2479 | .build_specific = patch_si3036_specific, | ||
2480 | }; | ||
2464 | 2481 | ||
2465 | int mpatch_si3036(ac97_t * ac97) | 2482 | int mpatch_si3036(ac97_t * ac97) |
2466 | { | 2483 | { |
2467 | //printk("mpatch_si3036: chip id = %x\n", snd_ac97_read(ac97, 0x5a)); | 2484 | ac97->build_ops = &patch_si3036_ops; |
2468 | snd_ac97_write_cache(ac97, 0x5c, 0xf210 ); | 2485 | snd_ac97_write_cache(ac97, 0x5c, 0xf210 ); |
2469 | snd_ac97_write_cache(ac97, 0x68, 0); | 2486 | snd_ac97_write_cache(ac97, 0x68, 0); |
2470 | return 0; | 2487 | return 0; |