Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 8 Jul 2010 15:20:41 +0000 (08:20 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 8 Jul 2010 15:20:41 +0000 (08:20 -0700)
* '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

sound/pci/hda/patch_realtek.c
sound/usb/mixer.c

index f1ce7d7f5aa3b4649e083b92e80b9fd57508c839..ff614dd824c1fe97cbfe9ee378b744676bc50e93 100644 (file)
@@ -1268,8 +1268,10 @@ static int alc_auto_parse_customize_define(struct hda_codec *codec)
        struct alc_spec *spec = codec->spec;
 
        ass = codec->subsystem_id & 0xffff;
-       if (ass != codec->bus->pci->subsystem_device && (ass & 1))
+       if (ass != codec->bus->pci->subsystem_device && (ass & 1)) {
+               spec->cdefine.enable_pcbeep = 1; /* assume always enabled */
                goto do_sku;
+       }
 
        nid = 0x1d;
        if (codec->vendor_id == 0x10ec0260)
@@ -2547,7 +2549,7 @@ static struct snd_kcontrol_new alc_beep_mixer[] = {
 static int alc_build_controls(struct hda_codec *codec)
 {
        struct alc_spec *spec = codec->spec;
-       struct snd_kcontrol *kctl;
+       struct snd_kcontrol *kctl = NULL;
        struct snd_kcontrol_new *knew;
        int i, j, err;
        unsigned int u;
@@ -9486,6 +9488,7 @@ static struct snd_pci_quirk alc882_ssid_cfg_tbl[] = {
        SND_PCI_QUIRK(0x106b, 0x3e00, "iMac 24 Aluminum", ALC885_IMAC24),
        SND_PCI_QUIRK(0x106b, 0x4900, "iMac 9,1 Aluminum", ALC885_IMAC91),
        SND_PCI_QUIRK(0x106b, 0x3f00, "Macbook 5,1", ALC885_MB5),
+       SND_PCI_QUIRK(0x106b, 0x4a00, "Macbook 5,2", ALC885_MB5),
        /* FIXME: HP jack sense seems not working for MBP 5,1 or 5,2,
         * so apparently no perfect solution yet
         */
index 6939d0f517d9bd42928f87e7f6a4e9fd35bff9b4..736d134cc03c58a15a49e81e5e7bafb85d135dba 100644 (file)
@@ -1107,6 +1107,19 @@ static void build_feature_ctl(struct mixer_build *state, void *raw_desc,
                }
                break;
 
+       case USB_ID(0x046d, 0x0809):
+       case USB_ID(0x046d, 0x0991):
+       /* Most audio usb devices lie about volume resolution.
+        * Most Logitech webcams have res = 384.
+        * Proboly there is some logitech magic behind this number --fishor
+        */
+               if (!strcmp(kctl->id.name, "Mic Capture Volume")) {
+                       snd_printk(KERN_INFO
+                               "set resolution quirk: cval->res = 384\n");
+                       cval->res = 384;
+               }
+               break;
+
        }
 
        snd_printdd(KERN_INFO "[%d] FU [%s] ch = %d, val = %d/%d/%d\n",