Index: u-boot-2017.01/fs/fat/Makefile
===================================================================
--- u-boot-2017.01.orig/fs/fat/Makefile
+++ u-boot-2017.01/fs/fat/Makefile
@@ -4,8 +4,8 @@
 #
 
 obj-$(CONFIG_FS_FAT)	:= fat.o
-obj-$(CONFIG_FAT_WRITE):= fat_write.o
 
 ifndef CONFIG_SPL_BUILD
+obj-$(CONFIG_FAT_WRITE):= fat_write.o
 obj-$(CONFIG_FS_FAT)	+= file.o
 endif
Index: u-boot-2017.01/fs/fat/fat.c
===================================================================
--- u-boot-2017.01.orig/fs/fat/fat.c
+++ u-boot-2017.01/fs/fat/fat.c
@@ -163,7 +163,7 @@ static void get_name(dir_entry *dirent,
 }
 
 static int flush_dirty_fat_buffer(fsdata *mydata);
-#if !defined(CONFIG_FAT_WRITE)
+#if !defined(CONFIG_FAT_WRITE) || defined(CONFIG_SPL_BUILD)
 /* Stub for read only operation */
 int flush_dirty_fat_buffer(fsdata *mydata)
 {
