diff options
author | Rob Herring <r.herring@freescale.com> | 2009-09-16 11:43:45 -0500 |
---|---|---|
committer | Frank Li <Frank.Li@freescale.com> | 2011-04-01 11:33:24 +0800 |
commit | f1bb894a0afaa76346ba0341d64b320eacad7046 (patch) | |
tree | dda588017562818acb6e0e99b6b49ef006865d78 | |
parent | 5b282cd3364b328182e2063b648bb3c7dfcb313c (diff) |
nand: export symbols needed for stmp3xxx nand
nand: increase max nand page and oob sizes
Signed-off-by: Rob Herring <r.herring@freescale.com>
-rw-r--r-- | drivers/mtd/nand/nand_base.c | 7 | ||||
-rw-r--r-- | include/linux/mtd/nand.h | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index a9c6ce745767..2e94c8e2f7ad 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -1448,7 +1448,7 @@ static uint8_t *nand_transfer_oob(struct nand_chip *chip, uint8_t *oob, * * Internal function. Called with chip held. */ -static int nand_do_read_ops(struct mtd_info *mtd, loff_t from, +int nand_do_read_ops(struct mtd_info *mtd, loff_t from, struct mtd_oob_ops *ops) { int chipnr, page, realpage, col, bytes, aligned; @@ -1579,6 +1579,7 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from, return mtd->ecc_stats.corrected - stats.corrected ? -EUCLEAN : 0; } +EXPORT_SYMBOL(nand_do_read_ops); /** * nand_read - [MTD Interface] MTD compability function for nand_do_read_ecc @@ -2161,7 +2162,7 @@ static uint8_t *nand_fill_oob(struct nand_chip *chip, uint8_t *oob, size_t len, * * NAND write with ECC */ -static int nand_do_write_ops(struct mtd_info *mtd, loff_t to, +int nand_do_write_ops(struct mtd_info *mtd, loff_t to, struct mtd_oob_ops *ops) { int chipnr, realpage, page, blockmask, column; @@ -2265,6 +2266,7 @@ static int nand_do_write_ops(struct mtd_info *mtd, loff_t to, ops->oobretlen = ops->ooblen; return ret; } +EXPORT_SYMBOL(nand_do_write_ops); /** * panic_nand_write - [MTD Interface] NAND write with ECC @@ -2677,6 +2679,7 @@ erase_exit: /* Return more or less happy */ return ret; } +EXPORT_SYMBOL_GPL(nand_erase_nand); /** * nand_sync - [MTD Interface] sync diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 1f489b247a29..813e13c57097 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -56,8 +56,8 @@ extern int nand_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); * is supported now. If you add a chip with bigger oobsize/page * adjust this accordingly. */ -#define NAND_MAX_OOBSIZE 576 -#define NAND_MAX_PAGESIZE 8192 +#define NAND_MAX_OOBSIZE (576 * NAND_MAX_CHIPS) +#define NAND_MAX_PAGESIZE (8192 * NAND_MAX_CHIPS) /* * Constants for hardware specific CLE/ALE/NCE function @@ -599,6 +599,10 @@ extern int nand_erase_nand(struct mtd_info *mtd, struct erase_info *instr, int allowbbt); extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, uint8_t *buf); +extern int nand_do_read_ops(struct mtd_info *mtd, loff_t from, + struct mtd_oob_ops *ops); +extern int nand_do_write_ops(struct mtd_info *mtd, loff_t to, + struct mtd_oob_ops *ops); /** * struct platform_nand_chip - chip level device structure |