diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-08 11:20:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-08 11:20:41 -0400 |
commit | b9f399594d12e353dcb609c25219bdaa76c2a050 (patch) | |
tree | 98328f0b47ce23634657004edcc7ae251da39352 | |
parent | c77e9e68269bf50573ce130b5d95ff6e539dbcf8 (diff) | |
parent | 7645054f181404e6a28c616b307c4d2562423a50 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: hda - Enable beep on Realtek codecs with PCI SSID override
ALSA: usb-audio - Add volume resolution quirk for some Logitech webcams
ALSA: hda - Add Macbook 5,2 quirk
ALSA: hda - Fix uninitialized variable
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 7 | ||||
-rw-r--r-- | sound/usb/mixer.c | 13 |
2 files changed, 18 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index f1ce7d7f5aa3..ff614dd824c1 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -1268,8 +1268,10 @@ static int alc_auto_parse_customize_define(struct hda_codec *codec) | |||
1268 | struct alc_spec *spec = codec->spec; | 1268 | struct alc_spec *spec = codec->spec; |
1269 | 1269 | ||
1270 | ass = codec->subsystem_id & 0xffff; | 1270 | ass = codec->subsystem_id & 0xffff; |
1271 | if (ass != codec->bus->pci->subsystem_device && (ass & 1)) | 1271 | if (ass != codec->bus->pci->subsystem_device && (ass & 1)) { |
1272 | spec->cdefine.enable_pcbeep = 1; /* assume always enabled */ | ||
1272 | goto do_sku; | 1273 | goto do_sku; |
1274 | } | ||
1273 | 1275 | ||
1274 | nid = 0x1d; | 1276 | nid = 0x1d; |
1275 | if (codec->vendor_id == 0x10ec0260) | 1277 | if (codec->vendor_id == 0x10ec0260) |
@@ -2547,7 +2549,7 @@ static struct snd_kcontrol_new alc_beep_mixer[] = { | |||
2547 | static int alc_build_controls(struct hda_codec *codec) | 2549 | static int alc_build_controls(struct hda_codec *codec) |
2548 | { | 2550 | { |
2549 | struct alc_spec *spec = codec->spec; | 2551 | struct alc_spec *spec = codec->spec; |
2550 | struct snd_kcontrol *kctl; | 2552 | struct snd_kcontrol *kctl = NULL; |
2551 | struct snd_kcontrol_new *knew; | 2553 | struct snd_kcontrol_new *knew; |
2552 | int i, j, err; | 2554 | int i, j, err; |
2553 | unsigned int u; | 2555 | unsigned int u; |
@@ -9486,6 +9488,7 @@ static struct snd_pci_quirk alc882_ssid_cfg_tbl[] = { | |||
9486 | SND_PCI_QUIRK(0x106b, 0x3e00, "iMac 24 Aluminum", ALC885_IMAC24), | 9488 | SND_PCI_QUIRK(0x106b, 0x3e00, "iMac 24 Aluminum", ALC885_IMAC24), |
9487 | SND_PCI_QUIRK(0x106b, 0x4900, "iMac 9,1 Aluminum", ALC885_IMAC91), | 9489 | SND_PCI_QUIRK(0x106b, 0x4900, "iMac 9,1 Aluminum", ALC885_IMAC91), |
9488 | SND_PCI_QUIRK(0x106b, 0x3f00, "Macbook 5,1", ALC885_MB5), | 9490 | SND_PCI_QUIRK(0x106b, 0x3f00, "Macbook 5,1", ALC885_MB5), |
9491 | SND_PCI_QUIRK(0x106b, 0x4a00, "Macbook 5,2", ALC885_MB5), | ||
9489 | /* FIXME: HP jack sense seems not working for MBP 5,1 or 5,2, | 9492 | /* FIXME: HP jack sense seems not working for MBP 5,1 or 5,2, |
9490 | * so apparently no perfect solution yet | 9493 | * so apparently no perfect solution yet |
9491 | */ | 9494 | */ |
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c index 6939d0f517d9..736d134cc03c 100644 --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c | |||
@@ -1107,6 +1107,19 @@ static void build_feature_ctl(struct mixer_build *state, void *raw_desc, | |||
1107 | } | 1107 | } |
1108 | break; | 1108 | break; |
1109 | 1109 | ||
1110 | case USB_ID(0x046d, 0x0809): | ||
1111 | case USB_ID(0x046d, 0x0991): | ||
1112 | /* Most audio usb devices lie about volume resolution. | ||
1113 | * Most Logitech webcams have res = 384. | ||
1114 | * Proboly there is some logitech magic behind this number --fishor | ||
1115 | */ | ||
1116 | if (!strcmp(kctl->id.name, "Mic Capture Volume")) { | ||
1117 | snd_printk(KERN_INFO | ||
1118 | "set resolution quirk: cval->res = 384\n"); | ||
1119 | cval->res = 384; | ||
1120 | } | ||
1121 | break; | ||
1122 | |||
1110 | } | 1123 | } |
1111 | 1124 | ||
1112 | snd_printdd(KERN_INFO "[%d] FU [%s] ch = %d, val = %d/%d/%d\n", | 1125 | snd_printdd(KERN_INFO "[%d] FU [%s] ch = %d, val = %d/%d/%d\n", |