mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 08:42:40 +01:00 
			
		
		
		
	Changed callbacks to take user-provided context directly
This is a style change to make littlefs's callbacks consistent with most callback declarations found in C. That is, taking in a user-provided `void*`. Previously, these callbacks took a pointer to the config struct itself, which indirectly contained a user provided context, and this gets the job done, but taking in a callback with a `void*` is arguably more expected, has a better chance of integrating with C++/OS-specific code, and is more likely to be optimized out by a clever compiler. --- As a part of these changes, the geometry for the test bds needed to be moved into bd specific configuration objects. This is a good change as it also allows for testing situations where littlefs's geometry does not match the underlying bd.
This commit is contained in:
		
							
								
								
									
										20
									
								
								lfs.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								lfs.c
									
									
									
									
									
								
							| @@ -34,13 +34,13 @@ | ||||
| #else | ||||
| // direct config towards dynamic lfs_cfg struct | ||||
| #define LFS_CFG_READ(lfs, block, off, buffer, size) \ | ||||
|     lfs->cfg->read(lfs->cfg, block, off, buffer, size) | ||||
|     lfs->cfg->read(lfs->cfg->ctx, block, off, buffer, size) | ||||
| #define LFS_CFG_PROG(lfs, block, off, buffer, size) \ | ||||
|     lfs->cfg->prog(lfs->cfg, block, off, buffer, size) | ||||
|     lfs->cfg->prog(lfs->cfg->ctx, block, off, buffer, size) | ||||
| #define LFS_CFG_ERASE(lfs, block) \ | ||||
|     lfs->cfg->erase(lfs->cfg, block) | ||||
|     lfs->cfg->erase(lfs->cfg->ctx, block) | ||||
| #define LFS_CFG_SYNC(lfs) \ | ||||
|     lfs->cfg->sync(lfs->cfg) | ||||
|     lfs->cfg->sync(lfs->cfg->ctx) | ||||
| #define LFS_CFG_READ_SIZE(lfs)          lfs->cfg->read_size | ||||
| #define LFS_CFG_PROG_SIZE(lfs)          lfs->cfg->prog_size | ||||
| #define LFS_CFG_BLOCK_SIZE(lfs)         lfs->cfg->block_size | ||||
| @@ -3732,7 +3732,7 @@ int lfs_format(lfs_t *lfs) { | ||||
|  | ||||
| #if !defined(LFS_STATICCFG) | ||||
| int lfs_formatcfg(lfs_t *lfs, const struct lfs_cfg *cfg) { | ||||
|     LFS_TRACE("lfs_formatcfg(%p, %p {.context=%p, " | ||||
|     LFS_TRACE("lfs_formatcfg(%p, %p {.ctx=%p, " | ||||
|                 ".read=%p, .prog=%p, .erase=%p, .sync=%p, " | ||||
|                 ".read_size=%"PRIu32", .prog_size=%"PRIu32", " | ||||
|                 ".block_size=%"PRIu32", .block_count=%"PRIu32", " | ||||
| @@ -3741,7 +3741,7 @@ int lfs_formatcfg(lfs_t *lfs, const struct lfs_cfg *cfg) { | ||||
|                 ".prog_buffer=%p, .lookahead_buffer=%p, " | ||||
|                 ".name_max=%"PRIu32", .file_max=%"PRIu32", " | ||||
|                 ".attr_max=%"PRIu32"})", | ||||
|             (void*)lfs, (void*)cfg, cfg->context, | ||||
|             (void*)lfs, (void*)cfg, cfg->ctx, | ||||
|             (void*)(uintptr_t)cfg->read, (void*)(uintptr_t)cfg->prog, | ||||
|             (void*)(uintptr_t)cfg->erase, (void*)(uintptr_t)cfg->sync, | ||||
|             cfg->read_size, cfg->prog_size, cfg->block_size, cfg->block_count, | ||||
| @@ -3893,7 +3893,7 @@ int lfs_mount(lfs_t *lfs) { | ||||
|  | ||||
| #if !defined(LFS_STATICCFG) | ||||
| int lfs_mountcfg(lfs_t *lfs, const struct lfs_cfg *cfg) { | ||||
|     LFS_TRACE("lfs_mountcfg(%p, %p {.context=%p, " | ||||
|     LFS_TRACE("lfs_mountcfg(%p, %p {.ctx=%p, " | ||||
|                 ".read=%p, .prog=%p, .erase=%p, .sync=%p, " | ||||
|                 ".read_size=%"PRIu32", .prog_size=%"PRIu32", " | ||||
|                 ".block_size=%"PRIu32", .block_count=%"PRIu32", " | ||||
| @@ -3902,7 +3902,7 @@ int lfs_mountcfg(lfs_t *lfs, const struct lfs_cfg *cfg) { | ||||
|                 ".prog_buffer=%p, .lookahead_buffer=%p, " | ||||
|                 ".name_max=%"PRIu32", .file_max=%"PRIu32", " | ||||
|                 ".attr_max=%"PRIu32"})", | ||||
|             (void*)lfs, (void*)cfg, cfg->context, | ||||
|             (void*)lfs, (void*)cfg, cfg->ctx, | ||||
|             (void*)(uintptr_t)cfg->read, (void*)(uintptr_t)cfg->prog, | ||||
|             (void*)(uintptr_t)cfg->erase, (void*)(uintptr_t)cfg->sync, | ||||
|             cfg->read_size, cfg->prog_size, cfg->block_size, cfg->block_count, | ||||
| @@ -5009,7 +5009,7 @@ int lfs_migrate(lfs_t *lfs) { | ||||
|  | ||||
| #if !defined(LFS_STATICCFG) | ||||
| int lfs_migratecfg(lfs_t *lfs, const struct lfs_cfg *cfg) { | ||||
|     LFS_TRACE("lfs_migratecfg(%p, %p {.context=%p, " | ||||
|     LFS_TRACE("lfs_migratecfg(%p, %p {.ctx=%p, " | ||||
|                 ".read=%p, .prog=%p, .erase=%p, .sync=%p, " | ||||
|                 ".read_size=%"PRIu32", .prog_size=%"PRIu32", " | ||||
|                 ".block_size=%"PRIu32", .block_count=%"PRIu32", " | ||||
| @@ -5018,7 +5018,7 @@ int lfs_migratecfg(lfs_t *lfs, const struct lfs_cfg *cfg) { | ||||
|                 ".prog_buffer=%p, .lookahead_buffer=%p, " | ||||
|                 ".name_max=%"PRIu32", .file_max=%"PRIu32", " | ||||
|                 ".attr_max=%"PRIu32"})", | ||||
|             (void*)lfs, (void*)cfg, cfg->context, | ||||
|             (void*)lfs, (void*)cfg, cfg->ctx, | ||||
|             (void*)(uintptr_t)cfg->read, (void*)(uintptr_t)cfg->prog, | ||||
|             (void*)(uintptr_t)cfg->erase, (void*)(uintptr_t)cfg->sync, | ||||
|             cfg->read_size, cfg->prog_size, cfg->block_size, cfg->block_count, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user