]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ASoC: intel: avs: Use pure devres PCI
authorPhilipp Stanner <phasta@kernel.org>
Fri, 25 Apr 2025 08:17:41 +0000 (10:17 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 5 May 2025 10:32:12 +0000 (19:32 +0900)
pci_request_regions() is a hybrid function which becomes managed if
pcim_enable_device() was called before. This hybrid nature is deprecated
and should not be used anymore.

Replace pci_request_regions() with the always-managed function
pcim_request_all_regions().

Remove the goto jump to pci_release_regions(), since pcim_ functions
clean up automatically.

Signed-off-by: Philipp Stanner <phasta@kernel.org>
Link: https://patch.msgid.link/20250425081742.61623-4-phasta@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/core.c

index 8fbf33e30dfc3e1c6dd713692451475800575f74..8f15a65406cd615e2a1ee231ed1e219cead653e5 100644 (file)
@@ -445,7 +445,7 @@ static int avs_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
                return ret;
        }
 
-       ret = pci_request_regions(pci, "AVS HDAudio");
+       ret = pcim_request_all_regions(pci, "AVS HDAudio");
        if (ret < 0)
                return ret;
 
@@ -454,8 +454,7 @@ static int avs_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
        bus->remap_addr = pci_ioremap_bar(pci, 0);
        if (!bus->remap_addr) {
                dev_err(bus->dev, "ioremap error\n");
-               ret = -ENXIO;
-               goto err_remap_bar0;
+               return -ENXIO;
        }
 
        adev->dsp_ba = pci_ioremap_bar(pci, 4);
@@ -512,8 +511,6 @@ err_init_streams:
        iounmap(adev->dsp_ba);
 err_remap_bar4:
        iounmap(bus->remap_addr);
-err_remap_bar0:
-       pci_release_regions(pci);
        return ret;
 }
 
@@ -584,7 +581,6 @@ static void avs_pci_remove(struct pci_dev *pci)
        pci_free_irq_vectors(pci);
        iounmap(bus->remap_addr);
        iounmap(adev->dsp_ba);
-       pci_release_regions(pci);
 
        /* Firmware is not needed anymore */
        avs_release_firmwares(adev);