projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed issues with 32 bit time tests
[yaffs2.git]
/
yaffs_mtdif_multi.c
diff --git
a/yaffs_mtdif_multi.c
b/yaffs_mtdif_multi.c
index 5b0e4fed26dfb6b681635e3f4a96ed9eb7152e5b..2d34b017d08e696939347ade4341868351aa8a21 100644
(file)
--- a/
yaffs_mtdif_multi.c
+++ b/
yaffs_mtdif_multi.c
@@
-17,7
+17,11
@@
#include "linux/mtd/mtd.h"
#include "linux/types.h"
#include "linux/time.h"
#include "linux/mtd/mtd.h"
#include "linux/types.h"
#include "linux/time.h"
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0))
#include "linux/mtd/nand.h"
#include "linux/mtd/nand.h"
+#else
+#include "linux/mtd/rawnand.h"
+#endif
#include "linux/kernel.h"
#include "linux/version.h"
#include "linux/types.h"
#include "linux/kernel.h"
#include "linux/version.h"
#include "linux/types.h"
@@
-28,7
+32,6
@@
#include "yaffs_trace.h"
#include "yaffs_guts.h"
#include "yaffs_linux.h"
#include "yaffs_trace.h"
#include "yaffs_guts.h"
#include "yaffs_linux.h"
-
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0))
#define MTD_OPS_AUTO_OOB MTD_OOB_AUTO
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0))
#define MTD_OPS_AUTO_OOB MTD_OOB_AUTO
#endif
@@
-42,24
+45,25
@@
#define mtd_block_markbad(m, offs) (m)->block_markbad(m, offs)
#endif
#define mtd_block_markbad(m, offs) (m)->block_markbad(m, offs)
#endif
-
-
int nandmtd_erase_block(struct yaffs_dev *dev, int block_no)
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
int nandmtd_erase_block(struct yaffs_dev *dev, int block_no)
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
- u32 addr =
- ((loff_t) block_no) * dev->param.total_bytes_per_chunk *
- dev->param.chunks_per_block;
+ u32 addr = ((loff_t) block_no) * dev->param.total_bytes_per_chunk *
+ dev->param.chunks_per_block;
struct erase_info ei;
int retval = 0;
struct erase_info ei;
int retval = 0;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0))
ei.mtd = mtd;
ei.mtd = mtd;
+#endif
ei.addr = addr;
ei.len = dev->param.total_bytes_per_chunk * dev->param.chunks_per_block;
ei.addr = addr;
ei.len = dev->param.total_bytes_per_chunk * dev->param.chunks_per_block;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0))
ei.time = 1000;
ei.retries = 2;
ei.callback = NULL;
ei.priv = (u_long) dev;
ei.time = 1000;
ei.retries = 2;
ei.callback = NULL;
ei.priv = (u_long) dev;
+#endif
retval = mtd_erase(mtd, &ei);
retval = mtd_erase(mtd, &ei);
@@
-69,10
+73,9
@@
int nandmtd_erase_block(struct yaffs_dev *dev, int block_no)
return YAFFS_FAIL;
}
return YAFFS_FAIL;
}
-
-static int yaffs_mtd_write(struct yaffs_dev *dev, int nand_chunk,
- const u8 *data, int data_len,
- const u8 *oob, int oob_len)
+static int yaffs_mtd_write(struct yaffs_dev *dev, int nand_chunk,
+ const u8 *data, int data_len,
+ const u8 *oob, int oob_len)
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
loff_t addr;
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
loff_t addr;
@@
-80,8
+83,8
@@
static int yaffs_mtd_write(struct yaffs_dev *dev, int nand_chunk,
int retval;
yaffs_trace(YAFFS_TRACE_MTD,
int retval;
yaffs_trace(YAFFS_TRACE_MTD,
-
"yaffs_mtd_write(%p, %d, %p, %d, %p, %d)\n",
-
dev, nand_chunk, data, data_len, oob, oob_len);
+ "yaffs_mtd_write(%p, %d, %p, %d, %p, %d)\n",
+ dev, nand_chunk, data, data_len, oob, oob_len);
if (!data || !data_len) {
data = NULL;
if (!data || !data_len) {
data = NULL;
@@
-169,7
+172,7
@@
static int yaffs_mtd_read(struct yaffs_dev *dev, int nand_chunk,
return YAFFS_OK;
}
return YAFFS_OK;
}
-static
int yaffs_mtd_erase(struct yaffs_dev *dev, int block_no)
+static int yaffs_mtd_erase(struct yaffs_dev *dev, int block_no)
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
@@
-182,13
+185,17
@@
static int yaffs_mtd_erase(struct yaffs_dev *dev, int block_no)
dev->param.chunks_per_block;
addr = ((loff_t) block_no) * block_size;
dev->param.chunks_per_block;
addr = ((loff_t) block_no) * block_size;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0))
ei.mtd = mtd;
ei.mtd = mtd;
+#endif
ei.addr = addr;
ei.len = block_size;
ei.addr = addr;
ei.len = block_size;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0))
ei.time = 1000;
ei.retries = 2;
ei.callback = NULL;
ei.priv = (u_long) dev;
ei.time = 1000;
ei.retries = 2;
ei.callback = NULL;
ei.priv = (u_long) dev;
+#endif
retval = mtd_erase(mtd, &ei);
retval = mtd_erase(mtd, &ei);
@@
-232,7
+239,6
@@
static int yaffs_mtd_deinitialise(struct yaffs_dev *dev)
return YAFFS_OK;
}
return YAFFS_OK;
}
-
void yaffs_mtd_drv_install(struct yaffs_dev *dev)
{
struct yaffs_driver *drv = &dev->drv;
void yaffs_mtd_drv_install(struct yaffs_dev *dev)
{
struct yaffs_driver *drv = &dev->drv;
@@
-246,7
+252,6
@@
void yaffs_mtd_drv_install(struct yaffs_dev *dev)
drv->drv_deinitialise_fn = yaffs_mtd_deinitialise;
}
drv->drv_deinitialise_fn = yaffs_mtd_deinitialise;
}
-
struct mtd_info * yaffs_get_mtd_device(dev_t sdev)
{
struct mtd_info *mtd;
struct mtd_info * yaffs_get_mtd_device(dev_t sdev)
{
struct mtd_info *mtd;
@@
-301,9
+306,8
@@
int yaffs_verify_mtd(struct mtd_info *mtd, int yaffs_version, int inband_tags)
return 0;
}
return 0;
}
-
void yaffs_put_mtd_device(struct mtd_info *mtd)
{
void yaffs_put_mtd_device(struct mtd_info *mtd)
{
- if(mtd)
+ if
(mtd)
put_mtd_device(mtd);
}
put_mtd_device(mtd);
}