Message ID | 20250417092742.27887-2-phasta@kernel.org |
---|---|
State | New |
Headers | show |
Series | mmc: cavium-thunderx: Use non-hybrid PCI devres API | expand |
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 >
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[] = {
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(-)