spl: fat/fs: Add option to include/exclude FAT write build in SPL

Most of the time SPL only needs very simple FAT reading, so having
CONFIG_IS_ENABLED(FAT_WRITE) to exclude it from SPL build would help
to save 64KiB default max clustersize from memory.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Tien Fong Chee 2019-01-23 14:20:04 +08:00 committed by Tom Rini
parent 0c3a9ed409
commit d8c3ea9982
4 changed files with 12 additions and 4 deletions

View File

@ -404,6 +404,13 @@ config SPL_FS_FAT
filesystem from within SPL. Support for the underlying block filesystem from within SPL. Support for the underlying block
device (e.g. MMC or USB) must be enabled separately. 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 config SPL_FPGA_SUPPORT
bool "Support FPGAs" bool "Support FPGAs"
help help

View File

@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0+ # SPDX-License-Identifier: GPL-2.0+
# #
obj-$(CONFIG_FS_FAT) := fat.o obj-$(CONFIG_$(SPL_)FS_FAT) = fat.o
obj-$(CONFIG_FAT_WRITE):= fat_write.o obj-$(CONFIG_$(SPL_)FAT_WRITE) = fat_write.o

View File

@ -145,7 +145,8 @@ static void get_name(dir_entry *dirent, char *s_name)
} }
static int flush_dirty_fat_buffer(fsdata *mydata); static int flush_dirty_fat_buffer(fsdata *mydata);
#if !defined(CONFIG_FAT_WRITE)
#if !CONFIG_IS_ENABLED(FAT_WRITE)
/* Stub for read only operation */ /* Stub for read only operation */
int flush_dirty_fat_buffer(fsdata *mydata) int flush_dirty_fat_buffer(fsdata *mydata)
{ {

View File

@ -168,7 +168,7 @@ static struct fstype_info fstypes[] = {
.exists = fat_exists, .exists = fat_exists,
.size = fat_size, .size = fat_size,
.read = fat_read_file, .read = fat_read_file,
#ifdef CONFIG_FAT_WRITE #if CONFIG_IS_ENABLED(FAT_WRITE)
.write = file_fat_write, .write = file_fat_write,
.unlink = fat_unlink, .unlink = fat_unlink,
.mkdir = fat_mkdir, .mkdir = fat_mkdir,