arm build failed on stable-rc 5.4 branch. make -sk KBUILD_BUILD_USER=TuxBuild -C/linux -j32 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- HOSTCC=gcc CC="sccache arm-linux-gnueabihf-gcc" O=build zImage # ../drivers/firmware/efi/arm-init.c: In function ‘efifb_add_links’: ../drivers/firmware/efi/arm-init.c:327:12: error: implicit declaration of function ‘get_dev_from_fwnode’ [-Werror=implicit-function-declaration] 327 | sup_dev = get_dev_from_fwnode(&sup_np->fwnode); | ^~~~~~~~~~~~~~~~~~~ ../drivers/firmware/efi/arm-init.c:327:10: warning: assignment to ‘struct device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 327 | sup_dev = get_dev_from_fwnode(&sup_np->fwnode); | ^ ../drivers/firmware/efi/arm-init.c: At top level: ../drivers/firmware/efi/arm-init.c:352:3: error: ‘const struct fwnode_operations’ has no member named ‘add_links’ 352 | .add_links = efifb_add_links, | ^~~~~~~~~ ../drivers/firmware/efi/arm-init.c:352:15: error: initialization of ‘struct fwnode_handle * (*)(struct fwnode_handle *)’ from incompatible pointer type ‘int (*)(const struct fwnode_handle *, struct device *)’ [-Werror=incompatible-pointer-types] 352 | .add_links = efifb_add_links, | ^~~~~~~~~~~~~~~ ../drivers/firmware/efi/arm-init.c:352:15: note: (near initialization for ‘efifb_fwnode_ops.get’) seems like this is coming from the below patch -- efi/arm: Defer probe of PCIe backed efifb on DT systems [ Upstream commit 64c8a0cd0a535891d5905c3a1651150f0f141439 ] The new of_devlink support breaks PCIe probing on ARM platforms booting via UEFI if the firmware exposes a EFI framebuffer that is backed by a PCI device. The reason is that the probing order gets reversed, resulting in a resource conflict on the framebuffer memory window when the PCIe probes last, causing it to give up entirely. Given that we rely on PCI quirks to deal with EFI framebuffers that get moved around in memory, we cannot simply drop the memory reservation, so instead, let's use the device link infrastructure to register this dependency, and force the probing to occur in the expected order. Co-developed-by: Saravana Kannan <saravanak@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx> Signed-off-by: Saravana Kannan <saravanak@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Link: https://lore.kernel.org/r/20200113172245.27925-9-ardb@xxxxxxxxxx Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> -- Linaro LKFT https://lkft.linaro.org