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>
This commit is contained in:
Sekhar Nori
2018-12-06 15:40:08 +05:30
committed by Tom Rini
parent a6f6939e87
commit d50d6817b5
7 changed files with 7 additions and 8 deletions

View File

@ -695,7 +695,6 @@ libs-$(CONFIG_CMD_UBI) += drivers/mtd/ubi/
libs-y += drivers/mtd/spi/ libs-y += drivers/mtd/spi/
libs-y += drivers/net/ libs-y += drivers/net/
libs-y += drivers/net/phy/ libs-y += drivers/net/phy/
libs-y += drivers/pci/
libs-y += drivers/power/ \ libs-y += drivers/power/ \
drivers/power/domain/ \ drivers/power/domain/ \
drivers/power/fuel_gauge/ \ drivers/power/fuel_gauge/ \

View File

@ -612,7 +612,7 @@ config SPL_PAYLOAD
TPL, tpl/u-boot-with-tpl.bin. For new boards, suggest to TPL, tpl/u-boot-with-tpl.bin. For new boards, suggest to
use u-boot.img. use u-boot.img.
config SPL_PCI_SUPPORT config SPL_PCI
bool "Support PCI drivers" bool "Support PCI drivers"
help help
Enable support for PCI in SPL. For platforms that need PCI to boot, Enable support for PCI in SPL. For platforms that need PCI to boot,
@ -1026,7 +1026,7 @@ config TPL_NAND_SUPPORT
help help
Enable support for NAND in TPL. See SPL_NAND_SUPPORT for details. Enable support for NAND in TPL. See SPL_NAND_SUPPORT for details.
config TPL_PCI_SUPPORT config TPL_PCI
bool "Support PCI drivers" bool "Support PCI drivers"
help help
Enable support for PCI in TPL. For platforms that need PCI to boot, Enable support for PCI in TPL. For platforms that need PCI to boot,

View File

@ -33,7 +33,7 @@ CONFIG_SPL_CPU_SUPPORT=y
CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_ENV_SUPPORT=y
CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y
CONFIG_SPL_NET_SUPPORT=y CONFIG_SPL_NET_SUPPORT=y
CONFIG_SPL_PCI_SUPPORT=y CONFIG_SPL_PCI=y
CONFIG_SPL_PCH_SUPPORT=y CONFIG_SPL_PCH_SUPPORT=y
CONFIG_SPL_RTC_SUPPORT=y CONFIG_SPL_RTC_SUPPORT=y
CONFIG_HUSH_PARSER=y CONFIG_HUSH_PARSER=y

View File

@ -31,7 +31,7 @@ CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_CPU_SUPPORT=y CONFIG_SPL_CPU_SUPPORT=y
CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_ENV_SUPPORT=y
CONFIG_SPL_NET_SUPPORT=y CONFIG_SPL_NET_SUPPORT=y
CONFIG_SPL_PCI_SUPPORT=y CONFIG_SPL_PCI=y
CONFIG_SPL_PCH_SUPPORT=y CONFIG_SPL_PCH_SUPPORT=y
CONFIG_SPL_RTC_SUPPORT=y CONFIG_SPL_RTC_SUPPORT=y
CONFIG_HUSH_PARSER=y CONFIG_HUSH_PARSER=y

View File

@ -10,7 +10,7 @@ obj-$(CONFIG_$(SPL_TPL_)LED) += led/
obj-$(CONFIG_$(SPL_TPL_)MMC_SUPPORT) += mmc/ obj-$(CONFIG_$(SPL_TPL_)MMC_SUPPORT) += mmc/
obj-$(CONFIG_$(SPL_TPL_)NAND_SUPPORT) += mtd/nand/raw/ obj-$(CONFIG_$(SPL_TPL_)NAND_SUPPORT) += mtd/nand/raw/
obj-$(CONFIG_$(SPL_TPL_)PCH_SUPPORT) += pch/ obj-$(CONFIG_$(SPL_TPL_)PCH_SUPPORT) += pch/
obj-$(CONFIG_$(SPL_TPL_)PCI_SUPPORT) += pci/ obj-$(CONFIG_$(SPL_TPL_)PCI) += pci/
obj-$(CONFIG_$(SPL_TPL_)PHY) += phy/ obj-$(CONFIG_$(SPL_TPL_)PHY) += phy/
obj-$(CONFIG_$(SPL_TPL_)PINCTRL) += pinctrl/ obj-$(CONFIG_$(SPL_TPL_)PINCTRL) += pinctrl/
obj-$(CONFIG_$(SPL_TPL_)RAM) += ram/ obj-$(CONFIG_$(SPL_TPL_)RAM) += ram/

View File

@ -425,7 +425,7 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
/* try Processor Local Bus device first */ /* try Processor Local Bus device first */
addr = dev_read_addr(dev); addr = dev_read_addr(dev);
#if defined(CONFIG_PCI) && defined(CONFIG_DM_PCI) #if CONFIG_IS_ENABLED(PCI) && defined(CONFIG_DM_PCI)
if (addr == FDT_ADDR_T_NONE) { if (addr == FDT_ADDR_T_NONE) {
/* then try pci device */ /* then try pci device */
struct fdt_pci_addr pci_addr; struct fdt_pci_addr pci_addr;

View File

@ -200,7 +200,7 @@ fdt_addr_t fdtdec_get_addr(const void *blob, int node, const char *prop_name)
return fdtdec_get_addr_size(blob, node, prop_name, NULL); return fdtdec_get_addr_size(blob, node, prop_name, NULL);
} }
#if defined(CONFIG_PCI) && defined(CONFIG_DM_PCI) #if CONFIG_IS_ENABLED(PCI) && defined(CONFIG_DM_PCI)
int fdtdec_get_pci_addr(const void *blob, int node, enum fdt_pci_space type, int fdtdec_get_pci_addr(const void *blob, int node, enum fdt_pci_space type,
const char *prop_name, struct fdt_pci_addr *addr) const char *prop_name, struct fdt_pci_addr *addr)
{ {