[+cc Bjorn] Hi Gustavo, [...] > Thanks for your review. I will wait for a couple of days, before sending > a new version of this patch series based on your feedback. Thank you! There might be one more change, and improvement, to be done as per Bjorn's feedback, see: https://lore.kernel.org/linux-pci/20210208193516.GA406304@bjorn-Precision-5520/ The code in question would be (exceprt from the patch): [...] +static int dw_xdata_pcie_probe(struct pci_dev *pdev, + const struct pci_device_id *pid) +{ + const struct dw_xdata_pcie_data *pdata = (void *)pid->driver_data; + struct dw_xdata *dw; [...] + dw->rg_region.vaddr = pcim_iomap_table(pdev)[pdata->rg_bar]; + if (!dw->rg_region.vaddr) + return -ENOMEM; [...] Perhaps something like the following would would? void __iomem * const *iomap_table; iomap_table = pcim_iomap_table(pdev); if (!iomap_table) return -ENOMEM; dw->rg_region.vaddr = iomap_table[pdata->rg_bar]; if (!dw->rg_region.vaddr) return -ENOMEM; With sensible error messages added, of course. What do you think? Krzysztof