ALSA: hda: make standalone hdmi_fill_audio_infoframe()
authorWu Fengguang <wfg@linux.intel.com>
Wed, 19 Nov 2008 00:56:15 +0000 (08:56 +0800)
committerTakashi Iwai <tiwai@suse.de>
Wed, 19 Nov 2008 06:35:21 +0000 (07:35 +0100)
code refactor: make a standalone function hdmi_fill_audio_infoframe().

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_intelhdmi.c

index c95abc47614f0ada3f05fbd6d6bb4c3a74e54242..028fce996aa245a38c5941fb4413642477b92096 100644 (file)
@@ -246,24 +246,31 @@ static void hdmi_clear_dip_buffers(struct hda_codec *codec)
 #endif
 }
 
+static void hdmi_fill_audio_infoframe(struct hda_codec *codec,
+                                       struct hdmi_audio_infoframe *ai)
+{
+       u8 *params = (u8 *)ai;
+       int i;
+
+       hdmi_debug_dip_size(codec);
+       hdmi_clear_dip_buffers(codec); /* be paranoid */
+
+       hdmi_set_dip_index(codec, PIN_NID, 0x0, 0x0);
+       for (i = 0; i < sizeof(ai); i++)
+               hdmi_write_dip_byte(codec, PIN_NID, params[i]);
+}
+
 static void hdmi_setup_audio_infoframe(struct hda_codec *codec,
                                        struct snd_pcm_substream *substream)
 {
-       struct hdmi_audio_infoframe audio_infoframe = {
+       struct hdmi_audio_infoframe ai = {
                .type           = 0x84,
                .ver            = 0x01,
                .len            = 0x0a,
                .CC02_CT47      = substream->runtime->channels - 1,
        };
-       u8 *params = (u8 *)&audio_infoframe;
-       int i;
-
-       hdmi_debug_dip_size(codec);
-       hdmi_clear_dip_buffers(codec); /* be paranoid */
 
-       hdmi_set_dip_index(codec, PIN_NID, 0x0, 0x0);
-       for (i = 0; i < sizeof(audio_infoframe); i++)
-               hdmi_write_dip_byte(codec, PIN_NID, params[i]);
+       hdmi_fill_audio_infoframe(codec, &ai);
 }