Added endianness support for YTIME_T
[yaffs2.git] / direct / test-framework / yaffs_nand_drv.c
index 9bdcb5550f9c81304f424284d0b8a70ca9cce146..8f2557935f4f5fcc1681711c022247ac887e4d86 100644 (file)
@@ -1,8 +1,7 @@
 /*
  * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
  *
- * Copyright (C) 2002-2011 Aleph One Ltd.
- *   for Toby Churchill Ltd and Brightstar Engineering
+ * Copyright (C) 2002-2018 Aleph One Ltd.
  *
  * Created by Charles Manning <charles@aleph1.co.uk>
  *
@@ -68,7 +67,7 @@ static int yaffs_nand_drv_WriteChunk(struct yaffs_dev *dev, int nand_chunk,
        struct nanddrv_transfer tr[2];
        int i;
 
-       if(!data || !oob)
+       if(!data)
                return YAFFS_FAIL;
 
 
@@ -79,11 +78,12 @@ static int yaffs_nand_drv_WriteChunk(struct yaffs_dev *dev, int nand_chunk,
        for(i = 0, e = buffer + 2; i < chip->data_bytes_per_page; i+=256, e+=3)
                yaffs_ecc_calc(data + i, e);
 
-       memcpy(buffer + 26, oob, oob_len);
+       if (oob)
+               memcpy(buffer + 26, oob, oob_len);
 
        /* Set up and execute transfer */
 
-       tr[0].buffer = data;
+       tr[0].buffer = (u8 *)data;
        tr[0].offset = 0;
        tr[0].nbytes = data_len;
 
@@ -196,8 +196,6 @@ static int yaffs_nand_drv_CheckBad(struct yaffs_dev *dev, int block_no)
        struct nand_chip *chip = dev_to_chip(dev);
        u8 *buffer = dev_to_buffer(dev);
        int nand_chunk = block_no * chip->pages_per_block;
-       int ret;
-
        struct nanddrv_transfer tr[1];
 
        memset(buffer, 0, chip->spare_bytes_per_page);
@@ -206,7 +204,7 @@ static int yaffs_nand_drv_CheckBad(struct yaffs_dev *dev, int block_no)
        tr[0].offset = chip->data_bytes_per_page;
        tr[0].nbytes = chip->spare_bytes_per_page;
 
-       ret = nanddrv_read_tr(chip, nand_chunk, tr, 1);
+       nanddrv_read_tr(chip, nand_chunk, tr, 1);
 
        /* Check that bad block marker is not set */
        if(yaffs_hweight8(buffer[0]) + yaffs_hweight8(buffer[1]) < 14)