diff options
author | Alex Kiernan <alex.kiernan@gmail.com> | 2018-04-19 04:32:54 +0000 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-04-28 18:32:23 -0400 |
commit | 14ad44ab466a8f4630c603f4c0bb5c57d0f27ae6 (patch) | |
tree | 4dca5b875ad778a2d4862804ff89b66175cd6aa5 /lib | |
parent | d4bb3b376223c72b49c3a2bdcce896557d997e6b (diff) | |
download | u-boot-14ad44ab466a8f4630c603f4c0bb5c57d0f27ae6.tar.gz |
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 <alex.kiernan@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Kconfig | 34 | ||||
-rw-r--r-- | lib/Makefile | 15 |
2 files changed, 40 insertions, 9 deletions
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 |