[alsa-devel] [PATCH 03/13] ALSA: hda - Small code refactoring about path re-initialization

Takashi Iwai tiwai at suse.de
Thu Jan 24 18:37:52 CET 2013


Introduce a helper function to do the same thing.

Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
 sound/pci/hda/hda_generic.c | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 06e203d..921582d 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -735,6 +735,14 @@ static void set_pin_eapd(struct hda_codec *codec, hda_nid_t pin, bool enable)
 				   enable ? 0x02 : 0x00);
 }
 
+/* re-initialize the path specified by the given path index */
+static void resume_path_from_idx(struct hda_codec *codec, int path_idx)
+{
+	struct nid_path *path = snd_hda_get_path_from_idx(codec, path_idx);
+	if (path)
+		snd_hda_activate_path(codec, path, path->active, false);
+}
+
 
 /*
  * Helper functions for creating mixer ctl elements
@@ -4684,16 +4692,8 @@ static void init_analog_input(struct hda_codec *codec)
 
 		/* init loopback inputs */
 		if (spec->mixer_nid) {
-			struct nid_path *path;
-			path = snd_hda_get_path_from_idx(codec, spec->loopback_paths[i]);
-			if (path)
-				snd_hda_activate_path(codec, path,
-						      path->active, false);
-			path = snd_hda_get_path_from_idx(codec,
-							 spec->loopback_merge_path);
-			if (path)
-				snd_hda_activate_path(codec, path, path->active,
-						      false);
+			resume_path_from_idx(codec, spec->loopback_paths[i]);
+			resume_path_from_idx(codec, spec->loopback_merge_path);
 		}
 	}
 }
@@ -4741,11 +4741,8 @@ static void init_digital(struct hda_codec *codec)
 		set_output_and_unmute(codec, spec->digout_paths[i]);
 	pin = spec->autocfg.dig_in_pin;
 	if (pin) {
-		struct nid_path *path;
 		restore_pin_ctl(codec, pin);
-		path = snd_hda_get_path_from_idx(codec, spec->digin_path);
-		if (path)
-			snd_hda_activate_path(codec, path, path->active, false);
+		resume_path_from_idx(codec, spec->digin_path);
 	}
 }
 
-- 
1.8.1.1



More information about the Alsa-devel mailing list