const struct firmware *fw;
        struct rp2_card *card;
        struct rp2_uart_port *ports;
-       void __iomem * const *bars;
        int rc;
 
        card = devm_kzalloc(&pdev->dev, sizeof(*card), GFP_KERNEL);
        if (rc)
                return rc;
 
-       rc = pcim_iomap_regions_request_all(pdev, 0x03, DRV_NAME);
+       rc = pcim_request_all_regions(pdev, DRV_NAME);
        if (rc)
                return rc;
 
-       bars = pcim_iomap_table(pdev);
-       card->bar0 = bars[0];
-       card->bar1 = bars[1];
+       card->bar0 = pcim_iomap(pdev, 0, 0);
+       if (!card->bar0)
+               return -ENOMEM;
+       card->bar1 = pcim_iomap(pdev, 1, 0);
+       if (!card->bar1)
+               return -ENOMEM;
        card->pdev = pdev;
 
        rp2_decode_cap(id, &card->n_ports, &card->smpte);