]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ALSA: hda - Use device pointer from the card instead of pci
authorDylan Reid <dgreid@chromium.org>
Fri, 28 Feb 2014 23:41:15 +0000 (15:41 -0800)
committerTakashi Iwai <tiwai@suse.de>
Sat, 1 Mar 2014 10:21:04 +0000 (11:21 +0100)
This removes calls to get the device via PCI from other parts of the
code that will be able to be re-used by the platform driver.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c

index 9fcd1d12846495a1e7cc963a54f59065f5c74bfa..7630622e7f0fdfb4888dfee742b74d2ee11a76b5 100644 (file)
@@ -364,7 +364,7 @@ static int azx_alloc_cmd_io(struct azx *chip)
 
        /* single page (at least 4096 bytes) must suffice for both ringbuffes */
        err = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV,
-                                 snd_dma_pci_data(chip->pci),
+                                 chip->card->dev,
                                  PAGE_SIZE, &chip->rb);
        if (err < 0) {
                dev_err(chip->card->dev, "cannot allocate CORB/RIRB\n");
@@ -1032,7 +1032,7 @@ static irqreturn_t azx_interrupt(int irq, void *dev_id)
 
 #ifdef CONFIG_PM_RUNTIME
        if (chip->driver_caps & AZX_DCAPS_PM_RUNTIME)
-               if (chip->pci->dev.power.runtime_status != RPM_ACTIVE)
+               if (chip->card->dev->power.runtime_status != RPM_ACTIVE)
                        return IRQ_NONE;
 #endif
 
@@ -2290,7 +2290,7 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec,
        if (size > MAX_PREALLOC_SIZE)
                size = MAX_PREALLOC_SIZE;
        snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
-                                             snd_dma_pci_data(chip->pci),
+                                             chip->card->dev,
                                              size, MAX_PREALLOC_SIZE);
        /* link to codec */
        pcm->dev = &codec->dev;
@@ -2405,7 +2405,7 @@ static int azx_load_dsp_prepare(struct hda_bus *bus, unsigned int format,
        spin_unlock_irq(&chip->reg_lock);
 
        err = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV_SG,
-                                 snd_dma_pci_data(chip->pci),
+                                 chip->card->dev,
                                  byte_size, bufp);
        if (err < 0)
                goto err_alloc;
@@ -2498,9 +2498,9 @@ static void azx_power_notify(struct hda_bus *bus, bool power_up)
                return;
 
        if (power_up)
-               pm_runtime_get_sync(&chip->pci->dev);
+               pm_runtime_get_sync(chip->card->dev);
        else
-               pm_runtime_put_sync(&chip->pci->dev);
+               pm_runtime_put_sync(chip->card->dev);
 }
 
 static DEFINE_MUTEX(card_list_lock);
@@ -2765,8 +2765,8 @@ static void azx_vs_set_state(struct pci_dev *pci,
                dev_info(chip->card->dev, "%s via VGA-switcheroo\n",
                         disabled ? "Disabling" : "Enabling");
                if (disabled) {
-                       pm_runtime_put_sync_suspend(&pci->dev);
-                       azx_suspend(&pci->dev);
+                       pm_runtime_put_sync_suspend(card->dev);
+                       azx_suspend(card->dev);
                        /* when we get suspended by vga switcheroo we end up in D3cold,
                         * however we have no ACPI handle, so pci/acpi can't put us there,
                         * put ourselves there */
@@ -2777,9 +2777,9 @@ static void azx_vs_set_state(struct pci_dev *pci,
                                         "Cannot lock devices!\n");
                } else {
                        snd_hda_unlock_devices(chip->bus);
-                       pm_runtime_get_noresume(&pci->dev);
+                       pm_runtime_get_noresume(card->dev);
                        chip->disabled = false;
-                       azx_resume(&pci->dev);
+                       azx_resume(card->dev);
                }
        }
 }
@@ -2833,7 +2833,8 @@ static int register_vga_switcheroo(struct azx *chip)
        chip->vga_switcheroo_registered = 1;
 
        /* register as an optimus hdmi audio power domain */
-       vga_switcheroo_init_domain_pm_optimus_hdmi_audio(&chip->pci->dev, &chip->hdmi_pm_domain);
+       vga_switcheroo_init_domain_pm_optimus_hdmi_audio(chip->card->dev,
+                                                        &chip->hdmi_pm_domain);
        return 0;
 }
 #else
@@ -3348,7 +3349,7 @@ static int azx_first_init(struct azx *chip)
                dsp_lock_init(&chip->azx_dev[i]);
                /* allocate memory for the BDL for each stream */
                err = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV,
-                                         snd_dma_pci_data(chip->pci),
+                                         chip->card->dev,
                                          BDL_SIZE, &chip->azx_dev[i].bdl);
                if (err < 0) {
                        dev_err(card->dev, "cannot allocate BDL\n");
@@ -3358,7 +3359,7 @@ static int azx_first_init(struct azx *chip)
        }
        /* allocate memory for the position buffer */
        err = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV,
-                                 snd_dma_pci_data(chip->pci),
+                                 chip->card->dev,
                                  chip->num_streams * 8, &chip->posbuf);
        if (err < 0) {
                dev_err(card->dev, "cannot allocate posbuf\n");