nand: Embed mtd_info in struct nand_chip
nand_info[] is now an array of pointers, with the actual mtd_info instance embedded in struct nand_chip. This is in preparation for syncing the NAND code with Linux 4.6, which makes the same change to struct nand_chip. It's in a separate commit due to the large amount of changes required to accommodate the change to nand_info[]. Signed-off-by: Scott Wood <oss@buserror.net>
This commit is contained in:
@@ -195,7 +195,7 @@ static int read_nand_cached(u32 off, u32 size, u_char *buf)
|
||||
}
|
||||
|
||||
retlen = NAND_CACHE_SIZE;
|
||||
if (nand_read(&nand_info[id->num], nand_cache_off,
|
||||
if (nand_read(nand_info[id->num], nand_cache_off,
|
||||
&retlen, nand_cache) != 0 ||
|
||||
retlen != NAND_CACHE_SIZE) {
|
||||
printf("read_nand_cached: error reading nand off %#x size %d bytes\n",
|
||||
|
||||
@@ -796,7 +796,7 @@ jffs2_1pass_build_lists(struct part_info * part)
|
||||
u32 counterN = 0;
|
||||
|
||||
struct mtdids *id = part->dev->id;
|
||||
mtd = nand_info + id->num;
|
||||
mtd = nand_info[id->num];
|
||||
|
||||
/* if we are building a list we need to refresh the cache. */
|
||||
jffs_init_1pass_list(part);
|
||||
|
||||
@@ -141,8 +141,6 @@ static const char *yaffs_error_str(void)
|
||||
}
|
||||
}
|
||||
|
||||
extern struct mtd_info nand_info[];
|
||||
|
||||
void cmd_yaffs_tracemask(unsigned set, unsigned mask)
|
||||
{
|
||||
if (set)
|
||||
@@ -171,7 +169,7 @@ void cmd_yaffs_devconfig(char *_mp, int flash_dev,
|
||||
dev = calloc(1, sizeof(*dev));
|
||||
mp = strdup(_mp);
|
||||
|
||||
mtd = &nand_info[flash_dev];
|
||||
mtd = nand_info[flash_dev];
|
||||
|
||||
if (!dev || !mp) {
|
||||
/* Alloc error */
|
||||
@@ -260,9 +258,7 @@ void cmd_yaffs_dev_ls(void)
|
||||
dev = yaffs_next_dev();
|
||||
if (!dev)
|
||||
return;
|
||||
flash_dev =
|
||||
((unsigned) dev->driver_context - (unsigned) nand_info)/
|
||||
sizeof(nand_info[0]);
|
||||
flash_dev = nand_mtd_to_devnum(dev->driver_context);
|
||||
printf("%-10s %5d 0x%05x 0x%05x %s",
|
||||
dev->param.name, flash_dev,
|
||||
dev->param.start_block, dev->param.end_block,
|
||||
|
||||
Reference in New Issue
Block a user