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:
parent
a6f6939e87
commit
d50d6817b5
1
Makefile
1
Makefile
@ -695,7 +695,6 @@ libs-$(CONFIG_CMD_UBI) += drivers/mtd/ubi/
|
||||
libs-y += drivers/mtd/spi/
|
||||
libs-y += drivers/net/
|
||||
libs-y += drivers/net/phy/
|
||||
libs-y += drivers/pci/
|
||||
libs-y += drivers/power/ \
|
||||
drivers/power/domain/ \
|
||||
drivers/power/fuel_gauge/ \
|
||||
|
@ -612,7 +612,7 @@ config SPL_PAYLOAD
|
||||
TPL, tpl/u-boot-with-tpl.bin. For new boards, suggest to
|
||||
use u-boot.img.
|
||||
|
||||
config SPL_PCI_SUPPORT
|
||||
config SPL_PCI
|
||||
bool "Support PCI drivers"
|
||||
help
|
||||
Enable support for PCI in SPL. For platforms that need PCI to boot,
|
||||
@ -1026,7 +1026,7 @@ config TPL_NAND_SUPPORT
|
||||
help
|
||||
Enable support for NAND in TPL. See SPL_NAND_SUPPORT for details.
|
||||
|
||||
config TPL_PCI_SUPPORT
|
||||
config TPL_PCI
|
||||
bool "Support PCI drivers"
|
||||
help
|
||||
Enable support for PCI in TPL. For platforms that need PCI to boot,
|
||||
|
@ -33,7 +33,7 @@ CONFIG_SPL_CPU_SUPPORT=y
|
||||
CONFIG_SPL_ENV_SUPPORT=y
|
||||
CONFIG_SPL_I2C_SUPPORT=y
|
||||
CONFIG_SPL_NET_SUPPORT=y
|
||||
CONFIG_SPL_PCI_SUPPORT=y
|
||||
CONFIG_SPL_PCI=y
|
||||
CONFIG_SPL_PCH_SUPPORT=y
|
||||
CONFIG_SPL_RTC_SUPPORT=y
|
||||
CONFIG_HUSH_PARSER=y
|
||||
|
@ -31,7 +31,7 @@ CONFIG_SPL_SYS_MALLOC_SIMPLE=y
|
||||
CONFIG_SPL_CPU_SUPPORT=y
|
||||
CONFIG_SPL_ENV_SUPPORT=y
|
||||
CONFIG_SPL_NET_SUPPORT=y
|
||||
CONFIG_SPL_PCI_SUPPORT=y
|
||||
CONFIG_SPL_PCI=y
|
||||
CONFIG_SPL_PCH_SUPPORT=y
|
||||
CONFIG_SPL_RTC_SUPPORT=y
|
||||
CONFIG_HUSH_PARSER=y
|
||||
|
@ -10,7 +10,7 @@ obj-$(CONFIG_$(SPL_TPL_)LED) += led/
|
||||
obj-$(CONFIG_$(SPL_TPL_)MMC_SUPPORT) += mmc/
|
||||
obj-$(CONFIG_$(SPL_TPL_)NAND_SUPPORT) += mtd/nand/raw/
|
||||
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_)PINCTRL) += pinctrl/
|
||||
obj-$(CONFIG_$(SPL_TPL_)RAM) += ram/
|
||||
|
@ -425,7 +425,7 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
|
||||
|
||||
/* try Processor Local Bus device first */
|
||||
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) {
|
||||
/* then try pci device */
|
||||
struct fdt_pci_addr pci_addr;
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
#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,
|
||||
const char *prop_name, struct fdt_pci_addr *addr)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user