
On Thu, Jan 17, 2019 at 08:54:48AM +0100, Simon Goldschmidt wrote:
On Thu, Jan 17, 2019 at 8:10 AM tien.fong.chee@intel.com wrote:
From: Tien Fong Chee tien.fong.chee@intel.com
Most of the time SPL only needs very simple FAT reading, so having CONFIG_SPL_FAT_WRITE to exclude or undefined would help to save 64KiB default max clustersize from memory.
Signed-off-by: Tien Fong Chee tien.fong.chee@intel.com
common/spl/Kconfig | 7 +++++++ fs/fat/Makefile | 7 ++++++- fs/fat/fat.c | 4 +++- fs/fs.c | 3 ++- 4 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig index 0ddbffc..dad4c11 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -403,6 +403,13 @@ config SPL_FAT_SUPPORT filesystem from within SPL. Support for the underlying block device (e.g. MMC or USB) must be enabled separately.
+config SPL_FAT_WRITE
bool "Support write for FAT filesystems"
help
Enable write support for FAT and VFAT filesystems with SPL.
Support for the underlying block device (e.g. MMC or USB) must be
enabled separately.
config SPL_FPGA_SUPPORT bool "Support FPGAs" help diff --git a/fs/fat/Makefile b/fs/fat/Makefile index e64b61a..654b8c3 100644 --- a/fs/fat/Makefile +++ b/fs/fat/Makefile @@ -1,5 +1,10 @@ # SPDX-License-Identifier: GPL-2.0+ #
+ifdef CONFIG_SPL_BUILD obj-$(CONFIG_FS_FAT) := fat.o -obj-$(CONFIG_FAT_WRITE):= fat_write.o +obj-$(CONFIG_SPL_FAT_WRITE) = fat_write.o +else +obj-$(CONFIG_FS_FAT) := fat.o +obj-$(CONFIG_FAT_WRITE) = fat_write.o
Like the ext4 one, we need a patch to rename SPL_FAT_SUPPORT to SPL_FS_FAT and then:
obj-$(CONFIG_$(SPL_)FS_FAT) += fat.o obj-$(CONFIG_$(SPL_)FAT_WRITE) += fat_write.o
+endif diff --git a/fs/fat/fat.c b/fs/fat/fat.c index ac8913e..8803fb4 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -145,7 +145,9 @@ static void get_name(dir_entry *dirent, char *s_name) }
static int flush_dirty_fat_buffer(fsdata *mydata); -#if !defined(CONFIG_FAT_WRITE)
+#if (!defined(CONFIG_SPL_BUILD) && !defined(CONFIG_FAT_WRITE)) || \
(defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_FAT_WRITE))
What about 'CONFIG_IS_ENABLED(FAT_WRITE)' ?
Yes, CONFIG_IS_ENABLED(FAT_WRITE) please.