/*
* 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>
*
static u32 *Block2Addr(struct yaffs_dev *dev, int blockNumber)
{
- u32 addr;
+ u8 *addr;
dev=dev;
- addr = (u32) DEVICE_BASE;
+ addr = (u8*) DEVICE_BASE;
addr += blockNumber * BLOCK_SIZE_IN_BYTES;
return (u32 *) addr;
static u32 *Block2FormatAddr(struct yaffs_dev *dev,int blockNumber)
{
- u32 addr;
+ u8 *addr;
- addr = (u32) Block2Addr(dev,blockNumber);
+ addr = (u8*) Block2Addr(dev,blockNumber);
addr += FORMAT_OFFSET;
return (u32 *)addr;
{
unsigned block;
unsigned chunkInBlock;
- u32 addr;
+ u8 *addr;
block = chunk_id/dev->param.chunks_per_block;
chunkInBlock = chunk_id % dev->param.chunks_per_block;
- addr = (u32) Block2Addr(dev,block);
+ addr = (u8*) Block2Addr(dev,block);
addr += chunkInBlock * DATA_BYTES_PER_CHUNK;
return (u32 *)addr;
{
unsigned block;
unsigned chunkInBlock;
- u32 addr;
+ u8 *addr;
block = chunk_id/dev->param.chunks_per_block;
chunkInBlock = chunk_id % dev->param.chunks_per_block;
- addr = (u32) Block2Addr(dev,block);
+ addr = (u8*) Block2Addr(dev,block);
addr += SPARE_AREA_OFFSET;
addr += chunkInBlock * (SPARE_BYTES_PER_CHUNK + M18_SKIP);
return (u32 *)addr;
u32 *dataAddr = Chunk2DataAddr(dev,nand_chunk);
u32 *spareAddr = Chunk2SpareAddr(dev,nand_chunk);
+ (void) data_len;
+
if(data)
{
m18_drv_FlashRead32(dataAddr,(u32 *)data,dev->param.total_bytes_per_chunk / 4);
static int m18_drv_InitialiseNAND(struct yaffs_dev *dev)
{
- int i;
+ u32 i;
m18_drv_FlashInit();
/* Go through the blocks formatting them if they are not formatted */