diff --git a/cc3200/mpconfigport.h b/cc3200/mpconfigport.h
index 939d9f62b53c55cafb2a7eacc39f7964663c432c..49ea644039f82b791a52a3ca732f72859f0fdf24 100644
--- a/cc3200/mpconfigport.h
+++ b/cc3200/mpconfigport.h
@@ -64,7 +64,6 @@
 #define MICROPY_QSTR_BYTES_IN_HASH                  (1)
 
 // fatfs configuration used in ffconf.h
-#define MICROPY_FATFS_OO                            (1)
 #define MICROPY_FATFS_ENABLE_LFN                    (2)
 #define MICROPY_FATFS_MAX_LFN                       (MICROPY_ALLOC_PATH_MAX)
 #define MICROPY_FATFS_LFN_CODE_PAGE                 (437) // 1=SFN/ANSI 437=LFN/U.S.(OEM)
diff --git a/esp8266/mpconfigport.h b/esp8266/mpconfigport.h
index 89d9dae76d1cf77084f7da30fe8f93f1c0e99c34..04b9792ebfbde5636493d87be0ff3c884d72acd5 100644
--- a/esp8266/mpconfigport.h
+++ b/esp8266/mpconfigport.h
@@ -95,7 +95,6 @@
 #define MICROPY_QSTR_EXTRA_POOL     mp_qstr_frozen_const_pool
 
 #define MICROPY_VFS                    (1)
-#define MICROPY_FATFS_OO               (1)
 #define MICROPY_FATFS_ENABLE_LFN       (1)
 #define MICROPY_FATFS_RPATH            (2)
 #define MICROPY_FATFS_MAX_SS           (4096)
diff --git a/extmod/vfs_fat.c b/extmod/vfs_fat.c
index a6f2ae806a47649c8d7b0e43dd0af621eab2061a..ecbbdb59ab16b2382fbc90a24bbeb30ce2b4ead7 100644
--- a/extmod/vfs_fat.c
+++ b/extmod/vfs_fat.c
@@ -32,10 +32,6 @@
 #error "with MICROPY_VFS_FAT enabled, must also enable MICROPY_VFS"
 #endif
 
-#if !MICROPY_FATFS_OO
-#error "with MICROPY_VFS_FAT enabled, must also enable MICROPY_FATFS_OO"
-#endif
-
 #include <string.h>
 #include "py/nlr.h"
 #include "py/runtime.h"
diff --git a/extmod/vfs_fat_diskio.c b/extmod/vfs_fat_diskio.c
index c8a6e1533567a6e8619d1ffff45b736245bf4737..e12c4597e403ddec35333d586ec3de75a4621cf6 100644
--- a/extmod/vfs_fat_diskio.c
+++ b/extmod/vfs_fat_diskio.c
@@ -36,13 +36,8 @@
 #include "py/mphal.h"
 
 #include "py/runtime.h"
-#if MICROPY_FATFS_OO
 #include "lib/oofatfs/ff.h"
 #include "lib/oofatfs/diskio.h"
-#else
-#include "lib/fatfs/ff.h"        /* FatFs lower layer API */
-#include "lib/fatfs/diskio.h"    /* FatFs lower layer API */
-#endif
 #include "extmod/fsusermount.h"
 
 #if _MAX_SS == _MIN_SS
@@ -51,29 +46,16 @@
 #define SECSIZE(fs) ((fs)->ssize)
 #endif
 
-#if MICROPY_FATFS_OO
 typedef void *bdev_t;
 STATIC fs_user_mount_t *disk_get_device(void *bdev) {
     return (fs_user_mount_t*)bdev;
 }
-#else
-typedef BYTE bdev_t;
-STATIC fs_user_mount_t *disk_get_device(uint id) {
-    if (id < MP_ARRAY_SIZE(MP_STATE_PORT(fs_user_mount))) {
-        return MP_STATE_PORT(fs_user_mount)[id];
-    } else {
-        return NULL;
-    }
-}
-#endif
 
 /*-----------------------------------------------------------------------*/
 /* Initialize a Drive                                                    */
 /*-----------------------------------------------------------------------*/
 
-#if MICROPY_FATFS_OO
 STATIC
-#endif
 DSTATUS disk_initialize (
     bdev_t pdrv              /* Physical drive nmuber (0..) */
 )
@@ -105,9 +87,7 @@ DSTATUS disk_initialize (
 /* Get Disk Status                                                       */
 /*-----------------------------------------------------------------------*/
 
-#if MICROPY_FATFS_OO
 STATIC
-#endif
 DSTATUS disk_status (
     bdev_t pdrv      /* Physical drive nmuber (0..) */
 )
@@ -159,7 +139,6 @@ DRESULT disk_read (
 /* Write Sector(s)                                                       */
 /*-----------------------------------------------------------------------*/
 
-#if MICROPY_FATFS_OO || _USE_WRITE
 DRESULT disk_write (
     bdev_t pdrv,          /* Physical drive nmuber (0..) */
     const BYTE *buff,    /* Data to be written */
@@ -191,14 +170,12 @@ DRESULT disk_write (
 
     return RES_OK;
 }
-#endif
 
 
 /*-----------------------------------------------------------------------*/
 /* Miscellaneous Functions                                               */
 /*-----------------------------------------------------------------------*/
 
-#if MICROPY_FATFS_OO || _USE_IOCTL
 DRESULT disk_ioctl (
     bdev_t pdrv,      /* Physical drive nmuber (0..) */
     BYTE cmd,        /* Control code */
@@ -237,7 +214,7 @@ DRESULT disk_ioctl (
                 } else {
                     *((WORD*)buff) = mp_obj_get_int(ret);
                 }
-                #if MICROPY_FATFS_OO && _MAX_SS != _MIN_SS
+                #if _MAX_SS != _MIN_SS
                 // need to store ssize because we use it in disk_read/disk_write
                 vfs->fatfs.ssize = *((WORD*)buff);
                 #endif
@@ -248,7 +225,6 @@ DRESULT disk_ioctl (
                 *((DWORD*)buff) = 1; // erase block size in units of sector size
                 return RES_OK;
 
-            #if MICROPY_FATFS_OO
             case IOCTL_INIT:
                 *((DSTATUS*)buff) = disk_initialize(pdrv);
                 return RES_OK;
@@ -256,7 +232,6 @@ DRESULT disk_ioctl (
             case IOCTL_STATUS:
                 *((DSTATUS*)buff) = disk_status(pdrv);
                 return RES_OK;
-            #endif
 
             default:
                 return RES_PARERR;
@@ -278,7 +253,7 @@ DRESULT disk_ioctl (
 
             case GET_SECTOR_SIZE:
                 *((WORD*)buff) = 512; // old protocol had fixed sector size
-                #if MICROPY_FATFS_OO && _MAX_SS != _MIN_SS
+                #if _MAX_SS != _MIN_SS
                 // need to store ssize because we use it in disk_read/disk_write
                 vfs->fatfs.ssize = 512;
                 #endif
@@ -288,7 +263,6 @@ DRESULT disk_ioctl (
                 *((DWORD*)buff) = 1; // erase block size in units of sector size
                 return RES_OK;
 
-            #if MICROPY_FATFS_OO
             case IOCTL_INIT:
                 *((DSTATUS*)buff) = disk_initialize(pdrv);
                 return RES_OK;
@@ -296,13 +270,11 @@ DRESULT disk_ioctl (
             case IOCTL_STATUS:
                 *((DSTATUS*)buff) = disk_status(pdrv);
                 return RES_OK;
-            #endif
 
             default:
                 return RES_PARERR;
         }
     }
 }
-#endif
 
 #endif // MICROPY_VFS
diff --git a/extmod/vfs_fat_file.c b/extmod/vfs_fat_file.c
index dccd12035f298e9a781a476c80ffa62a1b35c4bc..bb5903575d9c946fbf124515bcd14a047e2790c7 100644
--- a/extmod/vfs_fat_file.c
+++ b/extmod/vfs_fat_file.c
@@ -34,11 +34,7 @@
 #include "py/runtime.h"
 #include "py/stream.h"
 #include "py/mperrno.h"
-#if MICROPY_FATFS_OO
 #include "lib/oofatfs/ff.h"
-#else
-#include "lib/fatfs/ff.h"
-#endif
 #include "extmod/fsusermount.h"
 #include "extmod/vfs_fat.h"
 
@@ -115,11 +111,7 @@ STATIC mp_uint_t file_obj_write(mp_obj_t self_in, const void *buf, mp_uint_t siz
 STATIC mp_obj_t file_obj_close(mp_obj_t self_in) {
     pyb_file_obj_t *self = MP_OBJ_TO_PTR(self_in);
     // if fs==NULL then the file is closed and in that case this method is a no-op
-    #if MICROPY_FATFS_OO
     if (self->fp.obj.fs != NULL) {
-    #else
-    if (self->fp.fs != NULL) {
-    #endif
         FRESULT res = f_close(&self->fp);
         if (res != FR_OK) {
             mp_raise_OSError(fresult_to_errno_table[res]);
@@ -221,13 +213,8 @@ STATIC mp_obj_t file_open(fs_user_mount_t *vfs, const mp_obj_type_t *type, mp_ar
     o->base.type = type;
 
     const char *fname = mp_obj_str_get_str(args[0].u_obj);
-    #if MICROPY_FATFS_OO
     assert(vfs != NULL);
     FRESULT res = f_open(&vfs->fatfs, &o->fp, fname, mode);
-    #else
-    (void)vfs;
-    FRESULT res = f_open(&o->fp, fname, mode);
-    #endif
     if (res != FR_OK) {
         m_del_obj(pyb_file_obj_t, o);
         mp_raise_OSError(fresult_to_errno_table[res]);
diff --git a/extmod/vfs_fat_misc.c b/extmod/vfs_fat_misc.c
index 82ef91a1fb359877f82236b1511263e038c19ae8..ba513ef923dd8435400860e3d6eb69a266b74f32 100644
--- a/extmod/vfs_fat_misc.c
+++ b/extmod/vfs_fat_misc.c
@@ -30,19 +30,11 @@
 #include <string.h>
 #include "py/nlr.h"
 #include "py/runtime.h"
-#if MICROPY_FATFS_OO
 #include "lib/oofatfs/ff.h"
-#else
-#include "lib/fatfs/ff.h"
-#endif
 #include "extmod/vfs_fat.h"
 #include "extmod/fsusermount.h"
 #include "py/lexer.h"
 
-#if !MICROPY_FATFS_OO && _USE_LFN
-STATIC char lfn[_MAX_LFN + 1];   /* Buffer to store the LFN */
-#endif
-
 // TODO: actually, the core function should be ilistdir()
 
 mp_obj_t fat_vfs_listdir(const char *path, bool is_str_type) {
@@ -53,16 +45,8 @@ mp_obj_t fat_vfs_listdir2(fs_user_mount_t *vfs, const char *path, bool is_str_ty
     FRESULT res;
     FILINFO fno;
     FF_DIR dir;
-#if !MICROPY_FATFS_OO && _USE_LFN
-    fno.lfname = lfn;
-    fno.lfsize = sizeof lfn;
-#endif
 
-    #if MICROPY_FATFS_OO
     res = f_opendir(&vfs->fatfs, &dir, path);
-    #else
-    res = f_opendir(&dir, path);                       /* Open the directory */
-    #endif
     if (res != FR_OK) {
         mp_raise_OSError(fresult_to_errno_table[res]);
     }
@@ -75,11 +59,7 @@ mp_obj_t fat_vfs_listdir2(fs_user_mount_t *vfs, const char *path, bool is_str_ty
         if (fno.fname[0] == '.' && fno.fname[1] == 0) continue;             /* Ignore . entry */
         if (fno.fname[0] == '.' && fno.fname[1] == '.' && fno.fname[2] == 0) continue;             /* Ignore .. entry */
 
-#if !MICROPY_FATFS_OO && _USE_LFN
-        char *fn = *fno.lfname ? fno.lfname : fno.fname;
-#else
         char *fn = fno.fname;
-#endif
 
         /*
         if (fno.fattrib & AM_DIR) {
@@ -108,17 +88,8 @@ mp_obj_t fat_vfs_listdir2(fs_user_mount_t *vfs, const char *path, bool is_str_ty
 
 mp_import_stat_t fat_vfs_import_stat(fs_user_mount_t *vfs, const char *path) {
     FILINFO fno;
-#if !MICROPY_FATFS_OO && _USE_LFN
-    fno.lfname = NULL;
-    fno.lfsize = 0;
-#endif
-    #if MICROPY_FATFS_OO
     assert(vfs != NULL);
     FRESULT res = f_stat(&vfs->fatfs, path, &fno);
-    #else
-    (void)vfs;
-    FRESULT res = f_stat(path, &fno);
-    #endif
     if (res == FR_OK) {
         if ((fno.fattrib & AM_DIR) != 0) {
             return MP_IMPORT_STAT_DIR;
diff --git a/stmhal/mpconfigport.h b/stmhal/mpconfigport.h
index 53369a182789e6008ab0ed266737756e6e6ab097..873215458f87180f0fc1a268d6026db7a18ec514 100644
--- a/stmhal/mpconfigport.h
+++ b/stmhal/mpconfigport.h
@@ -135,7 +135,6 @@
 #endif
 
 // fatfs configuration used in ffconf.h
-#define MICROPY_FATFS_OO               (1)
 #define MICROPY_FATFS_ENABLE_LFN       (1)
 #define MICROPY_FATFS_LFN_CODE_PAGE    (437) /* 1=SFN/ANSI 437=LFN/U.S.(OEM) */
 #define MICROPY_FATFS_USE_LABEL        (1)
diff --git a/unix/mpconfigport.h b/unix/mpconfigport.h
index 9e418fe0a0a2ea1be3515b849115d94e9543b27f..ba2b5ce98d51628ccbad614be2a12765be01d100 100644
--- a/unix/mpconfigport.h
+++ b/unix/mpconfigport.h
@@ -131,7 +131,6 @@
 #define MICROPY_MACHINE_MEM_GET_READ_ADDR   mod_machine_mem_get_addr
 #define MICROPY_MACHINE_MEM_GET_WRITE_ADDR  mod_machine_mem_get_addr
 
-#define MICROPY_FATFS_OO               (1)
 #define MICROPY_FATFS_ENABLE_LFN       (1)
 #define MICROPY_FATFS_RPATH            (2)
 #define MICROPY_FATFS_MAX_SS           (4096)