[DFS] Fix the UFFS compiling issue.
This commit is contained in:
parent
5bc690336b
commit
67fff44fdd
@ -109,6 +109,33 @@ if RT_USING_DFS
|
||||
select RT_USING_MTD_NAND
|
||||
default n
|
||||
|
||||
if RT_USING_DFS_UFFS
|
||||
choice
|
||||
prompt "UFFS ECC mode"
|
||||
default RT_UFFS_ECC_MODE_1
|
||||
|
||||
config RT_UFFS_ECC_MODE_0
|
||||
bool "0: Do not use ECC"
|
||||
|
||||
config RT_UFFS_ECC_MODE_1
|
||||
bool "1: UFFS calculate the ECC"
|
||||
|
||||
config RT_UFFS_ECC_MODE_2
|
||||
bool "2: Flash driver(or by hardware) calculate the ECC"
|
||||
|
||||
config RT_UFFS_ECC_MODE_3
|
||||
bool "3: Hardware calculate the ECC and automatically write to spare."
|
||||
endchoice
|
||||
|
||||
config RT_UFFS_ECC_MODE
|
||||
int
|
||||
default 0 if RT_UFFS_ECC_MODE_0
|
||||
default 1 if RT_UFFS_ECC_MODE_1
|
||||
default 2 if RT_UFFS_ECC_MODE_2
|
||||
default 3 if RT_UFFS_ECC_MODE_3
|
||||
|
||||
endif
|
||||
|
||||
config RT_USING_DFS_NFS
|
||||
bool "Using NFS v3 client file system"
|
||||
depends on RT_USING_LWIP
|
||||
|
@ -28,8 +28,9 @@
|
||||
#include <rtthread.h>
|
||||
|
||||
#include <dfs_fs.h>
|
||||
#include <dfs_def.h>
|
||||
#include <dfs_file.h>
|
||||
#include <rtdevice.h>
|
||||
|
||||
#include "dfs_uffs.h"
|
||||
|
||||
#include "uffs/uffs_fd.h" /* posix file api is here */
|
||||
@ -213,7 +214,7 @@ static int dfs_uffs_unmount(struct dfs_filesystem* fs)
|
||||
break;
|
||||
|
||||
result = uffs_UnRegisterMountTable(& nand_part[index].mount_table);
|
||||
return (result == U_SUCC) ? DFS_STATUS_OK : -1;
|
||||
return (result == U_SUCC) ? RT_EOK : -1;
|
||||
}
|
||||
}
|
||||
return -ENOENT;
|
||||
@ -259,7 +260,7 @@ static int dfs_uffs_mkfs(rt_device_t dev_id)
|
||||
{
|
||||
return uffs_result_to_dfs(uffs_get_error());
|
||||
}
|
||||
return DFS_STATUS_OK;
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
static int dfs_uffs_statfs(struct dfs_filesystem* fs,
|
||||
@ -325,7 +326,7 @@ static int dfs_uffs_open(struct dfs_fd* file)
|
||||
/* save this pointer,will used by dfs_uffs_getdents*/
|
||||
file->data = dir;
|
||||
rt_free(file_path);
|
||||
return DFS_STATUS_OK;
|
||||
return RT_EOK;
|
||||
}
|
||||
/* regular file operations */
|
||||
/* int uffs_open(const char *name, int oflag, ...); what is this?
|
||||
@ -390,7 +391,7 @@ static int dfs_uffs_ioctl(struct dfs_fd * file, int cmd, void* args)
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static int dfs_uffs_read(struct dfs_fd * file, void* buf, rt_size_t len)
|
||||
static int dfs_uffs_read(struct dfs_fd * file, void* buf, size_t len)
|
||||
{
|
||||
int fd;
|
||||
int char_read;
|
||||
@ -407,7 +408,7 @@ static int dfs_uffs_read(struct dfs_fd * file, void* buf, rt_size_t len)
|
||||
|
||||
static int dfs_uffs_write(struct dfs_fd* file,
|
||||
const void* buf,
|
||||
rt_size_t len)
|
||||
size_t len)
|
||||
{
|
||||
int fd;
|
||||
int char_write;
|
||||
@ -524,16 +525,16 @@ static int dfs_uffs_getdents(
|
||||
switch(s.st_mode & US_IFMT) /* file type mark */
|
||||
{
|
||||
case US_IFREG: /* directory */
|
||||
d->d_type = DFS_DT_REG;
|
||||
d->d_type = DT_REG;
|
||||
break;
|
||||
case US_IFDIR: /* regular file */
|
||||
d->d_type = DFS_DT_DIR;
|
||||
d->d_type = DT_DIR;
|
||||
break;
|
||||
case US_IFLNK: /* symbolic link */
|
||||
case US_IREAD: /* read permission */
|
||||
case US_IWRITE:/* write permission */
|
||||
default:
|
||||
d->d_type = DFS_DT_UNKNOWN;
|
||||
d->d_type = DT_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -605,7 +606,6 @@ static int dfs_uffs_stat(struct dfs_filesystem* fs, const char *path, struct sta
|
||||
{
|
||||
int result;
|
||||
struct uffs_stat s;
|
||||
struct rt_mtd_nand_device * mtd;
|
||||
|
||||
result = uffs_stat(path, &s);
|
||||
if (result < 0)
|
||||
@ -618,8 +618,6 @@ static int dfs_uffs_stat(struct dfs_filesystem* fs, const char *path, struct sta
|
||||
st->st_size = s.st_size;
|
||||
st->st_mtime = s.st_mtime;
|
||||
|
||||
mtd = RT_MTD_NAND_DEVICE(fs->dev_id);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -671,3 +669,4 @@ int dfs_uffs_init(void)
|
||||
return -RT_ERROR;
|
||||
}
|
||||
INIT_FS_EXPORT(dfs_uffs_init);
|
||||
|
||||
|
@ -29,6 +29,27 @@
|
||||
#include "uffs/uffs_public.h"
|
||||
|
||||
/* the UFFS ECC mode opitons */
|
||||
#ifndef RT_UFFS_ECC_MODE
|
||||
#define RT_UFFS_ECC_MODE 1
|
||||
#endif
|
||||
|
||||
/*
|
||||
* RT_UFFS_ECC_MODE:
|
||||
* 0, Do not use ECC
|
||||
* 1, UFFS calculate the ECC
|
||||
* 2, Flash driver(or by hardware) calculate the ECC
|
||||
* 3, Hardware calculate the ECC and automatically write to spare.
|
||||
*/
|
||||
#if RT_UFFS_ECC_MODE == 0
|
||||
#define RT_CONFIG_UFFS_ECC_MODE UFFS_ECC_NONE
|
||||
#elif RT_UFFS_ECC_MODE == 1
|
||||
#define RT_CONFIG_UFFS_ECC_MODE UFFS_ECC_SOFT
|
||||
#elif RT_UFFS_ECC_MODE == 2
|
||||
#define RT_CONFIG_UFFS_ECC_MODE UFFS_ECC_HW
|
||||
#elif RT_UFFS_ECC_MODE == 3
|
||||
#define RT_CONFIG_UFFS_ECC_MODE UFFS_ECC_HW_AUTO
|
||||
#endif
|
||||
|
||||
/* #define RT_CONFIG_UFFS_ECC_MODE UFFS_ECC_HW_AUTO */
|
||||
/* #define RT_CONFIG_UFFS_ECC_MODE UFFS_ECC_SOFT */
|
||||
/* #define RT_CONFIG_UFFS_ECC_MODE UFFS_ECC_NONE */
|
||||
|
Loading…
x
Reference in New Issue
Block a user