utf8data.h_shipped has a large database table which is an auto-generated decodification trie for the unicode normalization functions and it is not necessary to carry this large table in the kernel. Goal is to make UTF-8 encoding loadable by converting it into a module and adding a layer between the filesystems and the utf8 module which will load the module whenever any filesystem that needs unicode is mounted. Unicode is the subsystem and utf8 is a charachter encoding for the subsystem, hence first two patches in the series are renaming functions and file name to unicode for better understanding the difference between UTF-8 module and unicode layer. Last patch in the series adds the layer and utf8 module. Shreeya Patel (3): fs: unicode: Rename function names from utf8 to unicode fs: unicode: Rename utf8-core file to unicode-core fs: unicode: Add utf8 module and a unicode layer fs/ext4/hash.c | 2 +- fs/ext4/namei.c | 12 +- fs/ext4/super.c | 6 +- fs/f2fs/dir.c | 12 +- fs/f2fs/super.c | 6 +- fs/libfs.c | 6 +- fs/unicode/Kconfig | 7 +- fs/unicode/Makefile | 5 +- fs/unicode/unicode-core.c | 112 +++++++++++++++++ fs/unicode/utf8-core.c | 248 ++++++++++--------------------------- fs/unicode/utf8-selftest.c | 8 +- fs/unicode/utf8mod.c | 246 ++++++++++++++++++++++++++++++++++++ include/linux/unicode.h | 52 +++++--- 13 files changed, 492 insertions(+), 230 deletions(-) create mode 100644 fs/unicode/unicode-core.c create mode 100644 fs/unicode/utf8mod.c -- 2.30.1