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. 3rd patch resolves the warning reported by kernel test robot. Last patch in the series adds the layer and utf8 module. --- Changes in v2 - Remove the duplicate file from the last patch. - Make the wrapper functions inline. - Remove msleep and use try_module_get() and module_put() for ensuring that module is loaded correctly and also doesn't get unloaded while in use. - Resolve the warning reported by kernel test robot. - Resolve all the checkpatch.pl warnings. Shreeya Patel (4): fs: unicode: Rename function names from utf8 to unicode fs: unicode: Rename utf8-core file to unicode-core fs: unicode: Use strscpy() instead of strncpy() 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 | 11 +++- fs/unicode/Makefile | 5 +- fs/unicode/unicode-core.c | 60 ++++++++++++++++++++ fs/unicode/utf8-selftest.c | 8 +-- fs/unicode/{utf8-core.c => utf8mod.c} | 80 +++++++++++++++------------ include/linux/unicode.h | 77 ++++++++++++++++++++------ 12 files changed, 206 insertions(+), 79 deletions(-) create mode 100644 fs/unicode/unicode-core.c rename fs/unicode/{utf8-core.c => utf8mod.c} (68%) -- 2.30.1