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: Takashi Iwai <tiwai@suse.de> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
c67e2228b7
commit
5c90680e42
1 changed files with 5 additions and 8 deletions
|
@ -3006,7 +3006,6 @@ static void azx_notifier_unregister(struct azx *chip)
|
||||||
unregister_reboot_notifier(&chip->reboot_notifier);
|
unregister_reboot_notifier(&chip->reboot_notifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int azx_first_init(struct azx *chip);
|
|
||||||
static int azx_probe_continue(struct azx *chip);
|
static int azx_probe_continue(struct azx *chip);
|
||||||
|
|
||||||
#ifdef SUPPORT_VGA_SWITCHEROO
|
#ifdef SUPPORT_VGA_SWITCHEROO
|
||||||
|
@ -3033,8 +3032,7 @@ static void azx_vs_set_state(struct pci_dev *pci,
|
||||||
snd_printk(KERN_INFO SFX
|
snd_printk(KERN_INFO SFX
|
||||||
"%s: Start delayed initialization\n",
|
"%s: Start delayed initialization\n",
|
||||||
pci_name(chip->pci));
|
pci_name(chip->pci));
|
||||||
if (azx_first_init(chip) < 0 ||
|
if (azx_probe_continue(chip) < 0) {
|
||||||
azx_probe_continue(chip) < 0) {
|
|
||||||
snd_printk(KERN_ERR SFX
|
snd_printk(KERN_ERR SFX
|
||||||
"%s: initialization error\n",
|
"%s: initialization error\n",
|
||||||
pci_name(chip->pci));
|
pci_name(chip->pci));
|
||||||
|
@ -3735,11 +3733,6 @@ static int azx_probe(struct pci_dev *pci,
|
||||||
}
|
}
|
||||||
|
|
||||||
probe_now = !chip->disabled;
|
probe_now = !chip->disabled;
|
||||||
if (probe_now) {
|
|
||||||
err = azx_first_init(chip);
|
|
||||||
if (err < 0)
|
|
||||||
goto out_free;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_SND_HDA_PATCH_LOADER
|
#ifdef CONFIG_SND_HDA_PATCH_LOADER
|
||||||
if (patch[dev] && *patch[dev]) {
|
if (patch[dev] && *patch[dev]) {
|
||||||
|
@ -3776,6 +3769,10 @@ static int azx_probe_continue(struct azx *chip)
|
||||||
int dev = chip->dev_index;
|
int dev = chip->dev_index;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
err = azx_first_init(chip);
|
||||||
|
if (err < 0)
|
||||||
|
goto out_free;
|
||||||
|
|
||||||
#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
#ifdef CONFIG_SND_HDA_INPUT_BEEP
|
||||||
chip->beep_mode = beep_mode[dev];
|
chip->beep_mode = beep_mode[dev];
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue