@ -789,6 +789,14 @@ static int littlefs_init_cfg(struct fs_littlefs *fs, int flags)
lookahead_size = CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE ;
lookahead_size = CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE ;
}
}
# ifdef CONFIG_FS_LITTLEFS_DISK_VERSION
uint32_t disk_version = lcp - > disk_version ;
if ( disk_version = = 0 ) {
disk_version = LFS_DISK_VERSION ;
}
# endif /* CONFIG_FS_LITTLEFS_DISK_VERSION */
/* No, you don't get to override this. */
/* No, you don't get to override this. */
lfs_size_t block_count = 0 ;
lfs_size_t block_count = 0 ;
@ -817,7 +825,7 @@ static int littlefs_init_cfg(struct fs_littlefs *fs, int flags)
dev - > name ,
dev - > name ,
( uint32_t ) ( ( struct flash_area * ) fs - > backend ) - > fa_off ,
( uint32_t ) ( ( struct flash_area * ) fs - > backend ) - > fa_off ,
block_count , block_size , block_cycles ) ;
block_count , block_size , block_cycles ) ;
LOG_INF ( " sizes: rd %u ; pr %u ; ca %u ; la %u " ,
LOG_INF ( " partition sizes: rd %u ; pr %u ; ca %u ; la %u" ,
read_size , prog_size , cache_size , lookahead_size ) ;
read_size , prog_size , cache_size , lookahead_size ) ;
}
}
# endif /* CONFIG_FS_LITTLEFS_FMP_DEV */
# endif /* CONFIG_FS_LITTLEFS_FMP_DEV */
@ -862,7 +870,7 @@ static int littlefs_init_cfg(struct fs_littlefs *fs, int flags)
lcp - > sync = lfs_api_sync_blk ;
lcp - > sync = lfs_api_sync_blk ;
LOG_INF ( " sizes: rd %u ; pr %u ; ca %u ; la %u " ,
LOG_INF ( " partition sizes: rd %u ; pr %u ; ca %u ; la %u" ,
lcp - > read_size , lcp - > prog_size , lcp - > cache_size ,
lcp - > read_size , lcp - > prog_size , lcp - > cache_size ,
lcp - > lookahead_size ) ;
lcp - > lookahead_size ) ;
} else {
} else {
@ -882,6 +890,13 @@ static int littlefs_init_cfg(struct fs_littlefs *fs, int flags)
lcp - > sync = lfs_api_sync ;
lcp - > sync = lfs_api_sync ;
}
}
# ifdef CONFIG_FS_LITTLEFS_DISK_VERSION
lcp - > disk_version = disk_version ;
LOG_INF ( " partition disk version: %u.%u " ,
( uint32_t ) FS_LITTLEFS_DISK_VERSION_MAJOR_GET ( disk_version ) ,
( uint32_t ) FS_LITTLEFS_DISK_VERSION_MINOR_GET ( disk_version ) ) ;
# endif /* CONFIG_FS_LITTLEFS_DISK_VERSION */
lcp - > block_size = block_size ;
lcp - > block_size = block_size ;
lcp - > block_count = block_count ;
lcp - > block_count = block_count ;
lcp - > block_cycles = block_cycles ;
lcp - > block_cycles = block_cycles ;
@ -1054,6 +1069,12 @@ static const struct fs_file_system_t littlefs_fs = {
# define DT_DRV_COMPAT zephyr_fstab_littlefs
# define DT_DRV_COMPAT zephyr_fstab_littlefs
# define FS_PARTITION(inst) DT_PHANDLE_BY_IDX(DT_DRV_INST(inst), partition, 0)
# define FS_PARTITION(inst) DT_PHANDLE_BY_IDX(DT_DRV_INST(inst), partition, 0)
# ifdef CONFIG_FS_LITTLEFS_DISK_VERSION
# define FS_DISK_VERSION(inst) \
. disk_version = DT_INST_PROP_OR ( inst , disk_version , LFS_DISK_VERSION ) ,
# else
# define FS_DISK_VERSION(inst)
# endif
# define DEFINE_FS(inst) \
# define DEFINE_FS(inst) \
static uint8_t __aligned ( 4 ) \
static uint8_t __aligned ( 4 ) \
@ -1081,6 +1102,7 @@ static struct fs_littlefs fs_data_##inst = { \
. read_buffer = read_buffer_ # # inst , \
. read_buffer = read_buffer_ # # inst , \
. prog_buffer = prog_buffer_ # # inst , \
. prog_buffer = prog_buffer_ # # inst , \
. lookahead_buffer = lookahead_buffer_ # # inst , \
. lookahead_buffer = lookahead_buffer_ # # inst , \
FS_DISK_VERSION ( inst ) \
} , \
} , \
} ; \
} ; \
struct fs_mount_t FS_FSTAB_ENTRY ( DT_DRV_INST ( inst ) ) = { \
struct fs_mount_t FS_FSTAB_ENTRY ( DT_DRV_INST ( inst ) ) = { \