drivers/mmc/host/cavium-thunderx.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
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>
---
drivers/mmc/host/cavium-thunderx.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/mmc/host/cavium-thunderx.c b/drivers/mmc/host/cavium-thunderx.c
index 2e2ff984f0b3..1373deb3f531 100644
--- a/drivers/mmc/host/cavium-thunderx.c
+++ b/drivers/mmc/host/cavium-thunderx.c
@@ -72,7 +72,7 @@ static int thunder_mmc_probe(struct pci_dev *pdev,
if (ret)
return ret;
- ret = pci_request_regions(pdev, KBUILD_MODNAME);
+ ret = pcim_request_all_regions(pdev, KBUILD_MODNAME);
if (ret)
return ret;
@@ -164,7 +164,6 @@ static int thunder_mmc_probe(struct pci_dev *pdev,
}
}
clk_disable_unprepare(host->clk);
- pci_release_regions(pdev);
return ret;
}
@@ -183,7 +182,6 @@ static void thunder_mmc_remove(struct pci_dev *pdev)
writeq(dma_cfg, host->dma_base + MIO_EMM_DMA_CFG(host));
clk_disable_unprepare(host->clk);
- pci_release_regions(pdev);
}
static const struct pci_device_id thunder_mmc_id_table[] = {
--
2.48.1
On Thu, 17 Apr 2025 at 11:28, Philipp Stanner <phasta@kernel.org> wrote:
>
> 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>
Applied for next, thanks!
Kind regards
Uffe
> ---
> drivers/mmc/host/cavium-thunderx.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/cavium-thunderx.c b/drivers/mmc/host/cavium-thunderx.c
> index 2e2ff984f0b3..1373deb3f531 100644
> --- a/drivers/mmc/host/cavium-thunderx.c
> +++ b/drivers/mmc/host/cavium-thunderx.c
> @@ -72,7 +72,7 @@ static int thunder_mmc_probe(struct pci_dev *pdev,
> if (ret)
> return ret;
>
> - ret = pci_request_regions(pdev, KBUILD_MODNAME);
> + ret = pcim_request_all_regions(pdev, KBUILD_MODNAME);
> if (ret)
> return ret;
>
> @@ -164,7 +164,6 @@ static int thunder_mmc_probe(struct pci_dev *pdev,
> }
> }
> clk_disable_unprepare(host->clk);
> - pci_release_regions(pdev);
> return ret;
> }
>
> @@ -183,7 +182,6 @@ static void thunder_mmc_remove(struct pci_dev *pdev)
> writeq(dma_cfg, host->dma_base + MIO_EMM_DMA_CFG(host));
>
> clk_disable_unprepare(host->clk);
> - pci_release_regions(pdev);
> }
>
> static const struct pci_device_id thunder_mmc_id_table[] = {
> --
> 2.48.1
>
© 2016 - 2025 Red Hat, Inc.