Commit 5c90680e authored by Takashi Iwai's avatar Takashi Iwai Committed by Daniel Vetter
Browse files

ALSA: hda - Move azx_first_init() into azx_probe_continue()



This is a preliminary work for the upcoming Haswell HDMI audio fixes.

azx_first_init() function can be safely called after the f/w loader,
since the f/w loader doesn't require the sound hardware initialization
beforehand.  Moving it into azx_probe_continue() cleans up the code
flow a bit.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent c67e2228
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -3006,7 +3006,6 @@ static void azx_notifier_unregister(struct azx *chip)
		unregister_reboot_notifier(&chip->reboot_notifier);
}

static int azx_first_init(struct azx *chip);
static int azx_probe_continue(struct azx *chip);

#ifdef SUPPORT_VGA_SWITCHEROO
@@ -3033,8 +3032,7 @@ static void azx_vs_set_state(struct pci_dev *pci,
			snd_printk(KERN_INFO SFX
				   "%s: Start delayed initialization\n",
				   pci_name(chip->pci));
			if (azx_first_init(chip) < 0 ||
			    azx_probe_continue(chip) < 0) {
			if (azx_probe_continue(chip) < 0) {
				snd_printk(KERN_ERR SFX
					   "%s: initialization error\n",
					   pci_name(chip->pci));
@@ -3735,11 +3733,6 @@ static int azx_probe(struct pci_dev *pci,
	}

	probe_now = !chip->disabled;
	if (probe_now) {
		err = azx_first_init(chip);
		if (err < 0)
			goto out_free;
	}

#ifdef CONFIG_SND_HDA_PATCH_LOADER
	if (patch[dev] && *patch[dev]) {
@@ -3776,6 +3769,10 @@ static int azx_probe_continue(struct azx *chip)
	int dev = chip->dev_index;
	int err;

	err = azx_first_init(chip);
	if (err < 0)
		goto out_free;

#ifdef CONFIG_SND_HDA_INPUT_BEEP
	chip->beep_mode = beep_mode[dev];
#endif