spi: spi-cavium-thunderx: Use non-hybrid PCI devres API
authorPhilipp Stanner <phasta@kernel.org>
Thu, 17 Apr 2025 08:39:02 +0000 (10:39 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 17 Apr 2025 11:25:42 +0000 (12:25 +0100)
cavium-thunderx enables its PCI device with pcim_enable_device(). This,
implicitly, switches the function pci_request_regions() into managed
mode, where it becomes a devres function.

The PCI subsystem wants to remove this hybrid nature from its
interfaces. To do so, users of the aforementioned combination of
functions must be ported to non-hybrid functions.

Moreover, since both functions are already managed in this driver, the
calls to pci_release_regions() are unnecessary.

Remove the calls to pci_release_regions().

Replace the call to sometimes-managed pci_request_regions() with one to
the always-managed pcim_request_all_regions().

Signed-off-by: Philipp Stanner <phasta@kernel.org>
Link: https://patch.msgid.link/20250417083902.23483-2-phasta@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-cavium-thunderx.c

index 337aef12abcc5da77da14a72fc63489b749c9a12..367ae7120bb3b5b7e85ab3d4850fd543b8a35e89 100644 (file)
@@ -34,7 +34,7 @@ static int thunderx_spi_probe(struct pci_dev *pdev,
        if (ret)
                goto error;
 
-       ret = pci_request_regions(pdev, DRV_NAME);
+       ret = pcim_request_all_regions(pdev, DRV_NAME);
        if (ret)
                goto error;
 
@@ -78,7 +78,6 @@ static int thunderx_spi_probe(struct pci_dev *pdev,
        return 0;
 
 error:
-       pci_release_regions(pdev);
        spi_controller_put(host);
        return ret;
 }
@@ -92,7 +91,6 @@ static void thunderx_spi_remove(struct pci_dev *pdev)
        if (!p)
                return;
 
-       pci_release_regions(pdev);
        /* Put everything in a known state. */
        writeq(0, p->register_base + OCTEON_SPI_CFG(p));
 }