Message ID | 20240827185616.45094-4-pstanner@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PCI: Remove pcim_iounmap_regions() | expand |
On 8/27/24 12:56 PM, Philipp Stanner wrote: > pcim_iomap_regions() and pcim_iomap_table() have been deprecated by the > PCI subsystem in commit e354bb84a4c1 ("PCI: Deprecate > pcim_iomap_table(), pcim_iomap_regions_request_all()"). > > In mtip32xx, these functions can easily be replaced by their respective > successors, pcim_request_region() and pcim_iomap(). Moreover, the > driver's calls to pcim_iounmap_regions() in probe()'s error path and in > remove() are not necessary. Cleanup can be performed by PCI devres > automatically. > > Replace pcim_iomap_regions() and pcim_iomap_table(). > > Remove the calls to pcim_iounmap_regions(). Looks fine to me - since it depends on other trees, feel free to take it through those: Reviewed-by: Jens Axboe <axboe@kernel.dk>
On Tue, 2024-08-27 at 13:05 -0600, Jens Axboe wrote: > On 8/27/24 12:56 PM, Philipp Stanner wrote: > > pcim_iomap_regions() and pcim_iomap_table() have been deprecated by > > the > > PCI subsystem in commit e354bb84a4c1 ("PCI: Deprecate > > pcim_iomap_table(), pcim_iomap_regions_request_all()"). > > > > In mtip32xx, these functions can easily be replaced by their > > respective > > successors, pcim_request_region() and pcim_iomap(). Moreover, the > > driver's calls to pcim_iounmap_regions() in probe()'s error path > > and in > > remove() are not necessary. Cleanup can be performed by PCI devres > > automatically. > > > > Replace pcim_iomap_regions() and pcim_iomap_table(). > > > > Remove the calls to pcim_iounmap_regions(). > > Looks fine to me - since it depends on other trees, feel free to take > it > through those: > > Reviewed-by: Jens Axboe <axboe@kernel.dk> Thank you for the review. I have to provide a v5 because of an issue in another patch. While I'm at it, I'd modify this patch here so that the comment above pcim_request_region() is descriptive of the actual events: - /* Map BAR5 to memory. */ + /* Request BAR5. */ I'd keep your Reviewed-by if that's OK. It's the only change I'd do. Regards, P.
On 8/28/24 1:10 AM, Philipp Stanner wrote: > On Tue, 2024-08-27 at 13:05 -0600, Jens Axboe wrote: >> On 8/27/24 12:56 PM, Philipp Stanner wrote: >>> pcim_iomap_regions() and pcim_iomap_table() have been deprecated by >>> the >>> PCI subsystem in commit e354bb84a4c1 ("PCI: Deprecate >>> pcim_iomap_table(), pcim_iomap_regions_request_all()"). >>> >>> In mtip32xx, these functions can easily be replaced by their >>> respective >>> successors, pcim_request_region() and pcim_iomap(). Moreover, the >>> driver's calls to pcim_iounmap_regions() in probe()'s error path >>> and in >>> remove() are not necessary. Cleanup can be performed by PCI devres >>> automatically. >>> >>> Replace pcim_iomap_regions() and pcim_iomap_table(). >>> >>> Remove the calls to pcim_iounmap_regions(). >> >> Looks fine to me - since it depends on other trees, feel free to take >> it >> through those: >> >> Reviewed-by: Jens Axboe <axboe@kernel.dk> > > Thank you for the review. > > I have to provide a v5 because of an issue in another patch. While I'm > at it, I'd modify this patch here so that the comment above > pcim_request_region() is descriptive of the actual events: > > - /* Map BAR5 to memory. */ > + /* Request BAR5. */ > > > I'd keep your Reviewed-by if that's OK. It's the only change I'd do. That's fine.
diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c index c6ef0546ffc9..bd40a06e4c0f 100644 --- a/drivers/block/mtip32xx/mtip32xx.c +++ b/drivers/block/mtip32xx/mtip32xx.c @@ -2716,7 +2716,9 @@ static int mtip_hw_init(struct driver_data *dd) int rv; unsigned long timeout, timetaken; - dd->mmio = pcim_iomap_table(dd->pdev)[MTIP_ABAR]; + dd->mmio = pcim_iomap(dd->pdev, MTIP_ABAR, 0); + if (!dd->mmio) + return -ENOMEM; mtip_detect_product(dd); if (dd->product_type == MTIP_PRODUCT_UNKNOWN) { @@ -3722,14 +3724,14 @@ static int mtip_pci_probe(struct pci_dev *pdev, rv = pcim_enable_device(pdev); if (rv < 0) { dev_err(&pdev->dev, "Unable to enable device\n"); - goto iomap_err; + goto setmask_err; } /* Map BAR5 to memory. */ - rv = pcim_iomap_regions(pdev, 1 << MTIP_ABAR, MTIP_DRV_NAME); + rv = pcim_request_region(pdev, MTIP_ABAR, MTIP_DRV_NAME); if (rv < 0) { - dev_err(&pdev->dev, "Unable to map regions\n"); - goto iomap_err; + dev_err(&pdev->dev, "Unable to request regions\n"); + goto setmask_err; } rv = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); @@ -3849,9 +3851,6 @@ static int mtip_pci_probe(struct pci_dev *pdev, drop_cpu(dd->work[2].cpu_binding); } setmask_err: - pcim_iounmap_regions(pdev, 1 << MTIP_ABAR); - -iomap_err: kfree(dd); pci_set_drvdata(pdev, NULL); return rv; @@ -3925,7 +3924,6 @@ static void mtip_pci_remove(struct pci_dev *pdev) pci_disable_msi(pdev); - pcim_iounmap_regions(pdev, 1 << MTIP_ABAR); pci_set_drvdata(pdev, NULL); put_disk(dd->disk);