mtd: nand: add "page" argument for read_subpage hook

Add the "page" argument for the read_subpage hook. With this argument,
the implementation of this hook could prints out more accurate information
for debugging.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
This commit is contained in:
Huang Shijie 2014-01-03 11:01:40 +08:00 committed by Brian Norris
parent bb77082fa2
commit e004debdad
2 changed files with 6 additions and 3 deletions

View File

@ -1162,9 +1162,11 @@ static int nand_read_page_swecc(struct mtd_info *mtd, struct nand_chip *chip,
* @data_offs: offset of requested data within the page * @data_offs: offset of requested data within the page
* @readlen: data length * @readlen: data length
* @bufpoi: buffer to store read data * @bufpoi: buffer to store read data
* @page: page number to read
*/ */
static int nand_read_subpage(struct mtd_info *mtd, struct nand_chip *chip, static int nand_read_subpage(struct mtd_info *mtd, struct nand_chip *chip,
uint32_t data_offs, uint32_t readlen, uint8_t *bufpoi) uint32_t data_offs, uint32_t readlen, uint8_t *bufpoi,
int page)
{ {
int start_step, end_step, num_steps; int start_step, end_step, num_steps;
uint32_t *eccpos = chip->ecc.layout->eccpos; uint32_t *eccpos = chip->ecc.layout->eccpos;
@ -1540,7 +1542,8 @@ read_retry:
else if (!aligned && NAND_HAS_SUBPAGE_READ(chip) && else if (!aligned && NAND_HAS_SUBPAGE_READ(chip) &&
!oob) !oob)
ret = chip->ecc.read_subpage(mtd, chip, ret = chip->ecc.read_subpage(mtd, chip,
col, bytes, bufpoi); col, bytes, bufpoi,
page);
else else
ret = chip->ecc.read_page(mtd, chip, bufpoi, ret = chip->ecc.read_page(mtd, chip, bufpoi,
oob_required, page); oob_required, page);

View File

@ -488,7 +488,7 @@ struct nand_ecc_ctrl {
int (*read_page)(struct mtd_info *mtd, struct nand_chip *chip, int (*read_page)(struct mtd_info *mtd, struct nand_chip *chip,
uint8_t *buf, int oob_required, int page); uint8_t *buf, int oob_required, int page);
int (*read_subpage)(struct mtd_info *mtd, struct nand_chip *chip, int (*read_subpage)(struct mtd_info *mtd, struct nand_chip *chip,
uint32_t offs, uint32_t len, uint8_t *buf); uint32_t offs, uint32_t len, uint8_t *buf, int page);
int (*write_subpage)(struct mtd_info *mtd, struct nand_chip *chip, int (*write_subpage)(struct mtd_info *mtd, struct nand_chip *chip,
uint32_t offset, uint32_t data_len, uint32_t offset, uint32_t data_len,
const uint8_t *data_buf, int oob_required); const uint8_t *data_buf, int oob_required);