summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_intel.c
diff options
context:
space:
mode:
authorDylan Reid2014-03-01 00:41:15 +0100
committerTakashi Iwai2014-03-01 11:21:04 +0100
commit8928756dbd956b474fc92ce0556fa3c35673c97c (patch)
tree8656f204eebc8c16088577d5b3b08e780f54a7a9 /sound/pci/hda/hda_intel.c
parentALSA: hda - Keep pointer to bdl_pos_fix in chip struct (diff)
downloadkernel-qcow2-linux-8928756dbd956b474fc92ce0556fa3c35673c97c.tar.gz
kernel-qcow2-linux-8928756dbd956b474fc92ce0556fa3c35673c97c.tar.xz
kernel-qcow2-linux-8928756dbd956b474fc92ce0556fa3c35673c97c.zip
ALSA: hda - Use device pointer from the card instead of pci
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>
Diffstat (limited to 'sound/pci/hda/hda_intel.c')
-rw-r--r--sound/pci/hda/hda_intel.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 9fcd1d128464..7630622e7f0f 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -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");