From: Alex Kiernan Date: Thu, 19 Apr 2018 04:32:54 +0000 (+0000) Subject: spl: Split sprintf, strto* from SPL serial in Kconfig X-Git-Tag: v2018.05-rc3~11 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=14ad44ab466a8f4630c603f4c0bb5c57d0f27ae6;p=u-boot spl: Split sprintf, strto* from SPL serial in Kconfig When SPL serial is disabled, callers who need sprintf or strtoul fail because their inclusion is guarded by CONFIG_SPL_SERIAL_SUPPORT/ CONFIG_TPL_SERIAL_SUPPORT. Split printf, sprintf and strto into their own entries and then select all of them if SERIAL_SUPPORT is enabled to match the current behaviour. Include panic.o unconditionally as it can be called from anywhere which uses BUG_ON(). Signed-off-by: Alex Kiernan --- diff --git a/common/spl/Kconfig b/common/spl/Kconfig index c5d4b5e14b..259f96607e 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -626,6 +626,8 @@ config SPL_SATA_SUPPORT config SPL_SERIAL_SUPPORT bool "Support serial" + select SPL_PRINTF + select SPL_STRTO help Enable support for serial in SPL. This allows use of a serial UART for displaying messages while SPL is running. It also brings in @@ -927,6 +929,8 @@ config TPL_RAM_DEVICE config TPL_SERIAL_SUPPORT bool "Support serial" + select TPL_PRINTF + select TPL_STRTO help Enable support for serial in TPL. See SPL_SERIAL_SUPPORT for details. diff --git a/lib/Kconfig b/lib/Kconfig index 436b90fa85..33fb06712f 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -27,6 +27,40 @@ config HAVE_PRIVATE_LIBGCC config LIB_UUID bool +config PRINTF + bool + default y + +config SPL_PRINTF + bool + select SPL_SPRINTF + select SPL_STRTO if !USE_TINY_PRINTF + +config TPL_PRINTF + bool + select TPL_SPRINTF + select TPL_STRTO if !USE_TINY_PRINTF + +config SPRINTF + bool + default y + +config SPL_SPRINTF + bool + +config TPL_SPRINTF + bool + +config STRTO + bool + default y + +config SPL_STRTO + bool + +config TPL_STRTO + bool + config USE_PRIVATE_LIBGCC bool "Use private libgcc" depends on HAVE_PRIVATE_LIBGCC diff --git a/lib/Makefile b/lib/Makefile index 35da5705a4..13be8f4cfc 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -88,22 +88,19 @@ obj-y += time.o obj-$(CONFIG_TRACE) += trace.o obj-$(CONFIG_LIB_UUID) += uuid.o obj-$(CONFIG_LIB_RAND) += rand.o +obj-y += panic.o -ifdef CONFIG_SPL_BUILD -ifdef CONFIG_TPL_BUILD -SERIAL_SUPPORT := $(CONFIG_TPL_SERIAL_SUPPORT) -else -SERIAL_SUPPORT := $(CONFIG_SPL_SERIAL_SUPPORT) -endif +ifeq ($(CONFIG_$(SPL_TPL_)BUILD),y) # SPL U-Boot may use full-printf, tiny-printf or none at all ifdef CONFIG_USE_TINY_PRINTF -obj-$(SERIAL_SUPPORT) += tiny-printf.o panic.o strto.o +obj-$(CONFIG_$(SPL_TPL_)SPRINTF) += tiny-printf.o else -obj-$(SERIAL_SUPPORT) += vsprintf.o panic.o strto.o strmhz.o +obj-$(CONFIG_$(SPL_TPL_)SPRINTF) += vsprintf.o strmhz.o endif +obj-$(CONFIG_$(SPL_TPL_)STRTO) += strto.o else # Main U-Boot always uses the full printf support -obj-y += vsprintf.o panic.o strto.o strmhz.o +obj-y += vsprintf.o strto.o strmhz.o endif subdir-ccflags-$(CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED) += -O2