spl: fix build failure with !CONFIG_SPL_PCI_SUPPORT
authorSekhar Nori <nsekhar@ti.com>
Thu, 6 Dec 2018 10:10:08 +0000 (15:40 +0530)
committerTom Rini <trini@konsulko.com>
Wed, 12 Dec 2018 17:14:23 +0000 (12:14 -0500)
commitd50d6817b583d20bf1c6e26c656d125bde5e4e4b
tree550ddec7d8ac60e8f215c45c3ccba989e176698e
parenta6f6939e87c7d70f4844a73bc115caaf9c0a19e0
spl: fix build failure with !CONFIG_SPL_PCI_SUPPORT

Building U-Boot with CONFIG_PCI and CONFIG_DM_PCI enabled, but
CONFIG_SPL_PCI_SUPPORT disabled, results in following linker
error:

lib/built-in.o: In function `fdtdec_get_pci_bar32':
lib/fdtdec.c:305: undefined reference to `dm_pci_read_bar32'
fdtdec.c:305:(.text.fdtdec_get_pci_bar32+0x24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `dm_pci_read_bar32'

This is because reference to dm_pci_read_bar32() remains in lib/fdtdec.c
while SPL build does not descend into drivers/pci directory in
drivers/Makefile if CONFIG_SPL_PCI_SUPPORT is not enabled.

Fix this by applying appropriate #define guards in lib/fdtdec.c.
It looks like ns16550.c has the same problem, so fixed that too.

To simplify this, CONFIG_SPL_PCI_SUPPORT is renamed to CONFIG_SPL_PCI
(enables use of CONFIG_IS_ENABLED() macro).

Suggested-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Makefile
common/spl/Kconfig
configs/chromebook_link64_defconfig
configs/qemu-x86_64_defconfig
drivers/Makefile
drivers/serial/ns16550.c
lib/fdtdec.c