
9 Mar
2009
9 Mar
'09
10:38 p.m.
On Sun, Mar 08, 2009 at 12:17:36PM +0530, Rohit Hagargundgi wrote:
+static inline int onenand_blocksize(loff_t ofs) +{
- struct onenand_chip *this = mtd->priv;
- int i;
- if (!FLEXONENAND(this))
return mtd->erasesize;
- i = flexonenand_region(mtd, ofs);
- return mtd->eraseregions[i].erasesize;
Can we define the interface to the onenand code such that the caller doesn't need to care what type of onenand it is, and non-flex will simply appear to have one region?
if (strncmp(cmd, "setboundary", 11) == 0) {
int die, bdry, lock = 0;
if (argc < 4)
goto usage;
die = (int) simple_strtoul(argv[2], NULL, 0);
bdry = (int) simple_strtoul(argv[3], NULL, 0);
if (argc == 5 && strncmp(argv[4], "LOCK", 4) == 0)
lock = 1;
return flexonenand_set_boundary(mtd, die, bdry, lock);
}
What happens if the user runs the setboundary command on non-flex onenand? Does it fail gracefully?
- break; }
@@ -478,9 +514,11 @@ U_BOOT_CMD( "onenand write[.oob] addr off size\n" " read/write 'size' bytes starting at offset 'off'\n" " to/from memory address 'addr', skipping bad blocks.\n"
- "onenand erase [force] [off size] - erase 'size' bytes from\n"
- "onenand erase [force] [off size] - erase 'size' bytes from off\n"
Quotes around 'off', as is done elsewhere in the help text.
-Scott