summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorAngryProton <[email protected]>2026-01-06 17:12:55 +0800
committerGitHub <[email protected]>2026-01-06 17:12:55 +0800
commit3d8114bcfe48f0d2adc75af028117911de99d701 (patch)
tree90fce409eb4f22cae38db44ac56dfe7efdd08926 /components
parent96bce3653381988322b72917f67744909f1f907e (diff)
[FIX][fal]char设备类型补充缺失的入参,适配DFSv2框架 (#11112)
* [FIX][fal]补充缺失的入参,适配DFSv2框架 * [FIX][fal]正确声明入参的数据类型 * [chg]按审查建议修改变量类型和代码格式。
Diffstat (limited to 'components')
-rw-r--r--components/fal/src/fal_rtt.c42
1 files changed, 28 insertions, 14 deletions
diff --git a/components/fal/src/fal_rtt.c b/components/fal/src/fal_rtt.c
index eca8c10914..077191e102 100644
--- a/components/fal/src/fal_rtt.c
+++ b/components/fal/src/fal_rtt.c
@@ -435,42 +435,56 @@ static int char_dev_fopen(struct dfs_file *fd)
return RT_EOK;
}
-static int char_dev_fread(struct dfs_file *fd, void *buf, rt_size_t count)
+#ifdef RT_USING_DFS_V2
+static rt_ssize_t char_dev_fread(struct dfs_file *fd, void *buf, size_t count, off_t *pos)
+#else
+static rt_ssize_t char_dev_fread(struct dfs_file *fd, void *buf, size_t count)
+#endif
{
- int ret = 0;
+ rt_ssize_t ret = 0;
struct fal_char_device *part = (struct fal_char_device *) fd->vnode->data;
+#ifndef RT_USING_DFS_V2
+ off_t *pos = &(fd->pos);
+#endif
RT_ASSERT(part != RT_NULL);
- if (DFS_FILE_POS(fd) + count > part->fal_part->len)
- count = part->fal_part->len - DFS_FILE_POS(fd);
+ if (*pos + count > part->fal_part->len)
+ count = part->fal_part->len - *pos;
- ret = fal_partition_read(part->fal_part, DFS_FILE_POS(fd), buf, count);
+ ret = fal_partition_read(part->fal_part, *pos, buf, count);
- if (ret != (int)(count))
+ if (ret != (rt_ssize_t)(count))
return 0;
- DFS_FILE_POS(fd) += ret;
+ *pos += ret;
return ret;
}
-static int char_dev_fwrite(struct dfs_file *fd, const void *buf, rt_size_t count)
+#ifdef RT_USING_DFS_V2
+static rt_ssize_t char_dev_fwrite(struct dfs_file *fd, const void *buf, size_t count, off_t *pos)
+#else
+static rt_ssize_t char_dev_fwrite(struct dfs_file *fd, const void *buf, size_t count)
+#endif
{
- int ret = 0;
+ rt_ssize_t ret = 0;
struct fal_char_device *part = (struct fal_char_device *) fd->vnode->data;
+#ifndef RT_USING_DFS_V2
+ off_t *pos = &(fd->pos);
+#endif
RT_ASSERT(part != RT_NULL);
- if (DFS_FILE_POS(fd) + count > part->fal_part->len)
- count = part->fal_part->len - DFS_FILE_POS(fd);
+ if (*pos + count > part->fal_part->len)
+ count = part->fal_part->len - *pos;
- ret = fal_partition_write(part->fal_part, DFS_FILE_POS(fd), buf, count);
+ ret = fal_partition_write(part->fal_part, *pos, buf, count);
- if (ret != (int) count)
+ if (ret != (rt_ssize_t) count)
return 0;
- DFS_FILE_POS(fd) += ret;
+ *pos += ret;
return ret;
}