]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: sof: Use pure devres PCI
authorPhilipp Stanner <phasta@kernel.org>
Fri, 25 Apr 2025 08:17:40 +0000 (10:17 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 5 May 2025 10:32:11 +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 surplus calls to PCI release functions, since pcim_ functions do
cleanup automatically.

Signed-off-by: Philipp Stanner <phasta@kernel.org>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250425081742.61623-3-phasta@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/sof-pci-dev.c

index 2fc14b9a33d465a122b221a586c96ac17d41768d..c50249aadea90a23ed2378d92e4d9fbe0ca35b83 100644 (file)
@@ -216,7 +216,7 @@ int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
        if (ret < 0)
                return ret;
 
-       ret = pci_request_regions(pci, "Audio DSP");
+       ret = pcim_request_all_regions(pci, "Audio DSP");
        if (ret < 0)
                return ret;
 
@@ -240,8 +240,7 @@ int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
                path_override->ipc_type = sof_pci_ipc_type;
        } else {
                dev_err(dev, "Invalid IPC type requested: %d\n", sof_pci_ipc_type);
-               ret = -EINVAL;
-               goto out;
+               return -EINVAL;
        }
 
        path_override->fw_path = fw_path;
@@ -271,13 +270,7 @@ int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
        sof_pdata->sof_probe_complete = sof_pci_probe_complete;
 
        /* call sof helper for DSP hardware probe */
-       ret = snd_sof_device_probe(dev, sof_pdata);
-
-out:
-       if (ret)
-               pci_release_regions(pci);
-
-       return ret;
+       return snd_sof_device_probe(dev, sof_pdata);
 }
 EXPORT_SYMBOL_NS(sof_pci_probe, "SND_SOC_SOF_PCI_DEV");
 
@@ -290,9 +283,6 @@ void sof_pci_remove(struct pci_dev *pci)
        if (snd_sof_device_probe_completed(&pci->dev) &&
            !(sof_pci_debug & SOF_PCI_DISABLE_PM_RUNTIME))
                pm_runtime_get_noresume(&pci->dev);
-
-       /* release pci regions and disable device */
-       pci_release_regions(pci);
 }
 EXPORT_SYMBOL_NS(sof_pci_remove, "SND_SOC_SOF_PCI_DEV");