瀏覽代碼

ALSA: hda - move alloc_cmd_io to hda_controller

Combining the call to alloc_cmd_io with the allocate pages function
removes an extra interface between hda_intel and hda_controller.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Dylan Reid 11 年之前
父節點
當前提交
f19c3ec21b
共有 3 個文件被更改,包括 6 次插入6 次删除
  1. 6 1
      sound/pci/hda/hda_controller.c
  2. 0 1
      sound/pci/hda/hda_controller.h
  3. 0 4
      sound/pci/hda/hda_intel.c

+ 6 - 1
sound/pci/hda/hda_controller.c

@@ -1026,7 +1026,7 @@ EXPORT_SYMBOL_GPL(azx_attach_pcm_stream);
 /*
  * CORB / RIRB interface
  */
-int azx_alloc_cmd_io(struct azx *chip)
+static int azx_alloc_cmd_io(struct azx *chip)
 {
 	int err;
 
@@ -1549,6 +1549,11 @@ int azx_alloc_stream_pages(struct azx *chip)
 		dev_err(card->dev, "cannot allocate posbuf\n");
 		return -ENOMEM;
 	}
+
+	/* allocate CORB/RIRB */
+	err = azx_alloc_cmd_io(chip);
+	if (err < 0)
+		return err;
 	return 0;
 }
 EXPORT_SYMBOL_GPL(azx_alloc_stream_pages);

+ 0 - 1
sound/pci/hda/hda_controller.h

@@ -50,7 +50,6 @@ void azx_free_stream_pages(struct azx *chip);
 /*
  * CORB / RIRB interface
  */
-int azx_alloc_cmd_io(struct azx *chip);
 void azx_init_cmd_io(struct azx *chip);
 void azx_free_cmd_io(struct azx *chip);
 void azx_update_rirb(struct azx *chip);

+ 0 - 4
sound/pci/hda/hda_intel.c

@@ -1807,10 +1807,6 @@ static int azx_first_init(struct azx *chip)
 	}
 
 	err = azx_alloc_stream_pages(chip);
-	if (err < 0)
-		return err;
-	/* allocate CORB/RIRB */
-	err = azx_alloc_cmd_io(chip);
 	if (err < 0)
 		return err;