
On Thu, 2019-01-17 at 07:25 -0500, Tom Rini wrote:
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
Okay.
+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.
Okay.