On 6/28/21 3:48 AM, Simon Glass wrote:
Rather than looking at two KConfig options in the Makefile, create a new
Kconfig option for compiling lib/charset.c
Enable it for UFS also, which needs this support.
+CC Faiz, maintainer UFS
Function utf16_to_utf8() is used in ufshcd_read_string_desc(). It
assumes that UTF-16 is using CPU endianness. What does UFS require on
big-endian systems?
Signed-off-by: Simon Glass <s...@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
lib/Kconfig | 8 ++++++++
lib/Makefile | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/Kconfig b/lib/Kconfig
index ad0cd52edd8..e1415799965 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -40,6 +40,14 @@ config CC_OPTIMIZE_LIBS_FOR_SPEED
If unsure, say N.
+config CHARSET
+ bool
+ default y if UT_UNICODE || EFI_LOADER || UFS
+ help
+ Enables support for various conversions between different
+ character sets, such as between unicode representations and
+ different 'code pages'.
+
config DYNAMIC_CRC_TABLE
bool "Enable Dynamic tables for CRC"
help
diff --git a/lib/Makefile b/lib/Makefile
index 881034f4ae3..2d2b273ccef 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -25,7 +25,7 @@ obj-$(CONFIG_AES) += aes/
obj-$(CONFIG_$(SPL_TPL_)BINMAN_FDT) += binman.o
ifndef API_BUILD
-ifneq ($(CONFIG_UT_UNICODE)$(CONFIG_EFI_LOADER),)
+ifneq ($(CONFIG_CHARSET),)
obj-y += charset.o
endif
endif