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:
parent
bb77082fa2
commit
e004debdad
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue