diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/Makefile | 2 | ||||
-rw-r--r-- | drivers/bus/Kconfig | 9 | ||||
-rw-r--r-- | drivers/bus/Makefile | 5 | ||||
-rw-r--r-- | drivers/core/lists.c | 6 |
4 files changed, 16 insertions, 6 deletions
diff --git a/drivers/Makefile b/drivers/Makefile index ac2d83af4e..6f1de58e00 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -37,6 +37,7 @@ obj-$(CONFIG_$(SPL_)SYSINFO) += sysinfo/ obj-$(CONFIG_$(SPL_TPL_)TPM) += tpm/ obj-$(CONFIG_XEN) += xen/ obj-$(CONFIG_$(SPL_)FPGA) += fpga/ +obj-y += bus/ ifndef CONFIG_TPL_BUILD ifndef CONFIG_VPL_BUILD @@ -77,7 +78,6 @@ ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_TPL_BUILD),) obj-y += adc/ obj-y += ata/ -obj-y += bus/ obj-$(CONFIG_DM_DEMO) += demo/ obj-$(CONFIG_BIOSEMU) += bios_emulator/ obj-y += block/ diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig index d742ed333b..e60aa722b9 100644 --- a/drivers/bus/Kconfig +++ b/drivers/bus/Kconfig @@ -13,7 +13,14 @@ config TI_PWMSS config TI_SYSC bool "TI sysc interconnect target module driver" - depends on ARCH_OMAP2PLUS + depends on DM && ARCH_OMAP2PLUS + help + Generic driver for Texas Instruments interconnect target module + found on many TI SoCs. + +config SPL_TI_SYSC + bool "Support TI sysc interconnect in SPL" + depends on SPL_DM && TI_SYSC help Generic driver for Texas Instruments interconnect target module found on many TI SoCs. diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile index a2e71c7b3b..0802b9666b 100644 --- a/drivers/bus/Makefile +++ b/drivers/bus/Makefile @@ -3,6 +3,9 @@ # Makefile for the bus drivers. # +ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_TPL_BUILD),) obj-$(CONFIG_TI_PWMSS) += ti-pwmss.o -obj-$(CONFIG_TI_SYSC) += ti-sysc.o obj-$(CONFIG_UNIPHIER_SYSTEM_BUS) += uniphier-system-bus.o +endif + +obj-$(CONFIG_$(SPL_)TI_SYSC) += ti-sysc.o diff --git a/drivers/core/lists.c b/drivers/core/lists.c index 3878957c9e..8034a8f48d 100644 --- a/drivers/core/lists.c +++ b/drivers/core/lists.c @@ -120,10 +120,10 @@ int lists_bind_drivers(struct udevice *parent, bool pre_reloc_only) int ret; ret = bind_drivers_pass(parent, pre_reloc_only); - if (!ret) - break; - if (ret != -EAGAIN && !result) + if (!result || result == -EAGAIN) result = ret; + if (ret != -EAGAIN) + break; } return result; |