From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kiernan Date: Wed, 18 Apr 2018 09:02:20 +0000 Subject: [U-Boot] [PATCH v1 5/8] spl: Split sprintf, strto* from SPL serial in Kconfig In-Reply-To: <1524042143-30213-1-git-send-email-alex.kiernan@gmail.com> References: <1524042143-30213-1-git-send-email-alex.kiernan@gmail.com> Message-ID: <1524042143-30213-6-git-send-email-alex.kiernan@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 --- common/spl/Kconfig | 4 ++++ lib/Kconfig | 22 ++++++++++++++++++++++ lib/Makefile | 15 ++++++--------- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/common/spl/Kconfig b/common/spl/Kconfig index c5d4b5e..259f966 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 436b90f..82c8fbc 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -27,6 +27,28 @@ config HAVE_PRIVATE_LIBGCC config LIB_UUID bool +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 SPL_SPRINTF + bool + +config TPL_SPRINTF + bool + +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 35da570..13be8f4 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 -- 2.7.4