+ if (id->driver_data >= ARRAY_SIZE(dw_pci_controllers))I know checkpatch.pl doesn't complain this but for my taste readability would be a bit better if error causing id->driver_data is split into another line.
+ return dev_err_probe(dev, -EINVAL, "invalid driver data %ld\n", id->driver_data);