FYI, sparse complains quite about about pcie-spear13xx.c: $ make C=2 drivers/pci/controller/dwc/pcie-spear13xx.o CHECK drivers/pci/controller/dwc/pcie-spear13xx.c drivers/pci/controller/dwc/pcie-spear13xx.c:73:54: warning: incorrect type in initializer (different address spaces) drivers/pci/controller/dwc/pcie-spear13xx.c:73:54: expected struct pcie_app_reg *app_reg drivers/pci/controller/dwc/pcie-spear13xx.c:73:54: got void [noderef] __iomem *app_base drivers/pci/controller/dwc/pcie-spear13xx.c:100:26: warning: incorrect type in argument 2 (different address spaces) drivers/pci/controller/dwc/pcie-spear13xx.c:100:26: expected void volatile [noderef] __iomem *addr drivers/pci/controller/dwc/pcie-spear13xx.c:100:26: got unsigned int * ... Any ideas about how to fix these? I haven't looked into them at all. I'm building on x86 with CONFIG_COMPILE_TEST=y and CONFIG_OF not set, so probably not the typical config for this driver. Bjorn