ALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld()
authorWu Fengguang <fengguang.wu@intel.com>
Wed, 16 Nov 2011 08:29:48 +0000 (16:29 +0800)
committerTakashi Iwai <tiwai@suse.de>
Wed, 16 Nov 2011 09:44:58 +0000 (10:44 +0100)
It looks more natural and saves two lines of code.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_eld.c
sound/pci/hda/patch_hdmi.c

index a065d6d2d6ff7a0922e29f709b4a21eda30f407c..7ae7578bdcc038a576efce5d6f1110522641670d 100644 (file)
@@ -297,6 +297,14 @@ static int hdmi_update_eld(struct hdmi_eld *e,
                                        buf + ELD_FIXED_BYTES + mnl + 3 * i);
        }
 
+       /*
+        * HDMI sink's ELD info cannot always be retrieved for now, e.g.
+        * in console or for audio devices. Assume the highest speakers
+        * configuration, to _not_ prohibit multi-channel audio playback.
+        */
+       if (!e->spk_alloc)
+               e->spk_alloc = 0xffff;
+
        e->eld_valid = true;
        return 0;
 
index a76139b6015427e00d7c68bc48b3cabd75828665..9850c5b481eae067af45fa88eb05a34dcfe23bdc 100644 (file)
@@ -757,7 +757,6 @@ static void hdmi_intrinsic_event(struct hda_codec *codec, unsigned int res)
        int pd = !!(res & AC_UNSOL_RES_PD);
        int eldv = !!(res & AC_UNSOL_RES_ELDV);
        int pin_idx;
-       struct hdmi_eld *eld;
 
        printk(KERN_INFO
                "HDMI hot plug event: Codec=%d Pin=%d Presence_Detect=%d ELD_Valid=%d\n",
@@ -766,17 +765,8 @@ static void hdmi_intrinsic_event(struct hda_codec *codec, unsigned int res)
        pin_idx = pin_nid_to_pin_index(spec, pin_nid);
        if (pin_idx < 0)
                return;
-       eld = &spec->pins[pin_idx].sink_eld;
 
        hdmi_present_sense(&spec->pins[pin_idx], true);
-
-       /*
-        * HDMI sink's ELD info cannot always be retrieved for now, e.g.
-        * in console or for audio devices. Assume the highest speakers
-        * configuration, to _not_ prohibit multi-channel audio playback.
-        */
-       if (!eld->spk_alloc)
-               eld->spk_alloc = 0xffff;
 }
 
 static void hdmi_non_intrinsic_event(struct hda_codec *codec, unsigned int res)