summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShell <[email protected]>2024-03-25 20:29:56 +0800
committerGitHub <[email protected]>2024-03-25 20:29:56 +0800
commit3237efd0898a2e3a58d7c6da17ae8e1e900bda8f (patch)
tree2ffb025cf8e5f01f2ea1a33f1759e16cfb0293b6
parentcb6d4515644a6f7e6b6b37878bcc2b59d23b2955 (diff)
fixup d1s (#8671)
Signed-off-by: Shell <[email protected]>
-rw-r--r--components/dfs/dfs_v1/include/dfs_file.h1
-rw-r--r--components/dfs/dfs_v2/filesystems/devfs/devfs.c20
-rw-r--r--components/dfs/dfs_v2/include/dfs_file.h1
-rw-r--r--components/drivers/core/device.c12
-rw-r--r--components/fal/src/fal_rtt.c18
5 files changed, 22 insertions, 30 deletions
diff --git a/components/dfs/dfs_v1/include/dfs_file.h b/components/dfs/dfs_v1/include/dfs_file.h
index e125fb25ac..26c74c8f16 100644
--- a/components/dfs/dfs_v1/include/dfs_file.h
+++ b/components/dfs/dfs_v1/include/dfs_file.h
@@ -63,6 +63,7 @@ struct dfs_file
struct dfs_vnode *vnode; /* file node struct */
void *data; /* Specific fd data */
};
+#define DFS_FILE_POS(dfs_file) ((dfs_file)->pos)
#ifdef RT_USING_SMART
struct dfs_mmap2_args
diff --git a/components/dfs/dfs_v2/filesystems/devfs/devfs.c b/components/dfs/dfs_v2/filesystems/devfs/devfs.c
index b2e75d06d8..7ebac59868 100644
--- a/components/dfs/dfs_v2/filesystems/devfs/devfs.c
+++ b/components/dfs/dfs_v2/filesystems/devfs/devfs.c
@@ -282,9 +282,7 @@ int dfs_devfs_ioctl(struct dfs_file *file, int cmd, void *args)
{
result = device->fops->ioctl(file, cmd, args);
}
- else if (device->ops)
-#else
- if (device->ops)
+ else
#endif /* RT_USING_POSIX_DEVIO */
{
result = rt_device_control(device, cmd, args);
@@ -312,9 +310,7 @@ ssize_t dfs_devfs_read(struct dfs_file *file, void *buf, size_t count, off_t *po
{
result = device->fops->read(file, buf, count, pos);
}
- else if (device->ops)
-#else
- if (device->ops)
+ else
#endif /* RT_USING_POSIX_DEVIO */
{
/* read device data */
@@ -344,9 +340,7 @@ ssize_t dfs_devfs_write(struct dfs_file *file, const void *buf, size_t count, of
{
result = device->fops->write(file, buf, count, pos);
}
- else if (device->ops)
-#else
- if (device->ops)
+ else
#endif /* RT_USING_POSIX_DEVIO */
{
/* read device data */
@@ -375,9 +369,7 @@ int dfs_devfs_close(struct dfs_file *file)
{
result = device->fops->close(file);
}
- else if (device->ops)
-#else
- if (device->ops)
+ else
#endif /* RT_USING_POSIX_DEVIO */
{
/* close device handler */
@@ -417,9 +409,7 @@ int dfs_devfs_open(struct dfs_file *file)
return RT_EOK;
}
}
- else if (device->ops)
-#else
- if (device->ops)
+ else
#endif /* RT_USING_POSIX_DEVIO */
{
result = rt_device_open(device, RT_DEVICE_OFLAG_RDWR);
diff --git a/components/dfs/dfs_v2/include/dfs_file.h b/components/dfs/dfs_v2/include/dfs_file.h
index 9a47198e4d..d62aec1e89 100644
--- a/components/dfs/dfs_v2/include/dfs_file.h
+++ b/components/dfs/dfs_v2/include/dfs_file.h
@@ -101,6 +101,7 @@ struct dfs_file
void *data;
};
+#define DFS_FILE_POS(dfs_file) ((dfs_file)->fpos)
/* file is open for reading */
#define FMODE_READ 0x1
diff --git a/components/drivers/core/device.c b/components/drivers/core/device.c
index e59b769733..30c8adfd60 100644
--- a/components/drivers/core/device.c
+++ b/components/drivers/core/device.c
@@ -32,12 +32,12 @@
#ifdef RT_USING_DEVICE
#ifdef RT_USING_DEVICE_OPS
-#define device_init (dev->ops->init)
-#define device_open (dev->ops->open)
-#define device_close (dev->ops->close)
-#define device_read (dev->ops->read)
-#define device_write (dev->ops->write)
-#define device_control (dev->ops->control)
+#define device_init (dev->ops ? dev->ops->init : RT_NULL)
+#define device_open (dev->ops ? dev->ops->open : RT_NULL)
+#define device_close (dev->ops ? dev->ops->close : RT_NULL)
+#define device_read (dev->ops ? dev->ops->read : RT_NULL)
+#define device_write (dev->ops ? dev->ops->write : RT_NULL)
+#define device_control (dev->ops ? dev->ops->control : RT_NULL)
#else
#define device_init (dev->init)
#define device_open (dev->open)
diff --git a/components/fal/src/fal_rtt.c b/components/fal/src/fal_rtt.c
index 89dcdf4722..bfbe66785b 100644
--- a/components/fal/src/fal_rtt.c
+++ b/components/fal/src/fal_rtt.c
@@ -424,7 +424,7 @@ static int char_dev_fopen(struct dfs_file *fd)
default:
break;
}
- fd->pos = 0;
+ DFS_FILE_POS(fd) = 0;
return RT_EOK;
}
@@ -436,15 +436,15 @@ static int char_dev_fread(struct dfs_file *fd, void *buf, size_t count)
assert(part != RT_NULL);
- if (fd->pos + count > part->fal_part->len)
- count = part->fal_part->len - fd->pos;
+ if (DFS_FILE_POS(fd) + count > part->fal_part->len)
+ count = part->fal_part->len - DFS_FILE_POS(fd);
- ret = fal_partition_read(part->fal_part, fd->pos, buf, count);
+ ret = fal_partition_read(part->fal_part, DFS_FILE_POS(fd), buf, count);
if (ret != (int)(count))
return 0;
- fd->pos += ret;
+ DFS_FILE_POS(fd) += ret;
return ret;
}
@@ -456,15 +456,15 @@ static int char_dev_fwrite(struct dfs_file *fd, const void *buf, size_t count)
assert(part != RT_NULL);
- if (fd->pos + count > part->fal_part->len)
- count = part->fal_part->len - fd->pos;
+ if (DFS_FILE_POS(fd) + count > part->fal_part->len)
+ count = part->fal_part->len - DFS_FILE_POS(fd);
- ret = fal_partition_write(part->fal_part, fd->pos, buf, count);
+ ret = fal_partition_write(part->fal_part, DFS_FILE_POS(fd), buf, count);
if (ret != (int) count)
return 0;
- fd->pos += ret;
+ DFS_FILE_POS(fd) += ret;
return ret;
}