@@ -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) {
@@ -3726,9 +3728,9 @@ static int mtip_pci_probe(struct pci_dev *pdev,
}
/* 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");
+ dev_err(&pdev->dev, "Unable to request regions\n");
goto iomap_err;
}
@@ -3849,8 +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);
@@ -3925,7 +3925,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);
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(). Signed-off-by: Philipp Stanner <pstanner@redhat.com> --- drivers/block/mtip32xx/mtip32xx.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)