Commit 862eba51 authored by Boris BREZILLON's avatar Boris BREZILLON Committed by Brian Norris

mtd: nand: make use of mtd_to_nand() in NAND core code

mtd_to_nand() was recently introduced to avoid direct access to the
mtd->priv field. Update core code to use mtd_to_nand().
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent 7326ffef
This diff is collapsed.
...@@ -172,7 +172,7 @@ static int read_bbt(struct mtd_info *mtd, uint8_t *buf, int page, int num, ...@@ -172,7 +172,7 @@ static int read_bbt(struct mtd_info *mtd, uint8_t *buf, int page, int num,
struct nand_bbt_descr *td, int offs) struct nand_bbt_descr *td, int offs)
{ {
int res, ret = 0, i, j, act = 0; int res, ret = 0, i, j, act = 0;
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
size_t retlen, len, totlen; size_t retlen, len, totlen;
loff_t from; loff_t from;
int bits = td->options & NAND_BBT_NRBITS_MSK; int bits = td->options & NAND_BBT_NRBITS_MSK;
...@@ -263,7 +263,7 @@ static int read_bbt(struct mtd_info *mtd, uint8_t *buf, int page, int num, ...@@ -263,7 +263,7 @@ static int read_bbt(struct mtd_info *mtd, uint8_t *buf, int page, int num,
*/ */
static int read_abs_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *td, int chip) static int read_abs_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *td, int chip)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int res = 0, i; int res = 0, i;
if (td->options & NAND_BBT_PERCHIP) { if (td->options & NAND_BBT_PERCHIP) {
...@@ -388,7 +388,7 @@ static u32 bbt_get_ver_offs(struct mtd_info *mtd, struct nand_bbt_descr *td) ...@@ -388,7 +388,7 @@ static u32 bbt_get_ver_offs(struct mtd_info *mtd, struct nand_bbt_descr *td)
static void read_abs_bbts(struct mtd_info *mtd, uint8_t *buf, static void read_abs_bbts(struct mtd_info *mtd, uint8_t *buf,
struct nand_bbt_descr *td, struct nand_bbt_descr *md) struct nand_bbt_descr *td, struct nand_bbt_descr *md)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
/* Read the primary version, if available */ /* Read the primary version, if available */
if (td->options & NAND_BBT_VERSION) { if (td->options & NAND_BBT_VERSION) {
...@@ -454,7 +454,7 @@ static int scan_block_fast(struct mtd_info *mtd, struct nand_bbt_descr *bd, ...@@ -454,7 +454,7 @@ static int scan_block_fast(struct mtd_info *mtd, struct nand_bbt_descr *bd,
static int create_bbt(struct mtd_info *mtd, uint8_t *buf, static int create_bbt(struct mtd_info *mtd, uint8_t *buf,
struct nand_bbt_descr *bd, int chip) struct nand_bbt_descr *bd, int chip)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int i, numblocks, numpages; int i, numblocks, numpages;
int startblock; int startblock;
loff_t from; loff_t from;
...@@ -523,7 +523,7 @@ static int create_bbt(struct mtd_info *mtd, uint8_t *buf, ...@@ -523,7 +523,7 @@ static int create_bbt(struct mtd_info *mtd, uint8_t *buf,
*/ */
static int search_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *td) static int search_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *td)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int i, chips; int i, chips;
int startblock, block, dir; int startblock, block, dir;
int scanlen = mtd->writesize + mtd->oobsize; int scanlen = mtd->writesize + mtd->oobsize;
...@@ -618,7 +618,7 @@ static int write_bbt(struct mtd_info *mtd, uint8_t *buf, ...@@ -618,7 +618,7 @@ static int write_bbt(struct mtd_info *mtd, uint8_t *buf,
struct nand_bbt_descr *td, struct nand_bbt_descr *md, struct nand_bbt_descr *td, struct nand_bbt_descr *md,
int chipsel) int chipsel)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
struct erase_info einfo; struct erase_info einfo;
int i, res, chip = 0; int i, res, chip = 0;
int bits, startblock, dir, page, offs, numblocks, sft, sftmsk; int bits, startblock, dir, page, offs, numblocks, sft, sftmsk;
...@@ -819,7 +819,7 @@ static int write_bbt(struct mtd_info *mtd, uint8_t *buf, ...@@ -819,7 +819,7 @@ static int write_bbt(struct mtd_info *mtd, uint8_t *buf,
*/ */
static inline int nand_memory_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd) static inline int nand_memory_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
return create_bbt(mtd, this->buffers->databuf, bd, -1); return create_bbt(mtd, this->buffers->databuf, bd, -1);
} }
...@@ -838,7 +838,7 @@ static inline int nand_memory_bbt(struct mtd_info *mtd, struct nand_bbt_descr *b ...@@ -838,7 +838,7 @@ static inline int nand_memory_bbt(struct mtd_info *mtd, struct nand_bbt_descr *b
static int check_create(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *bd) static int check_create(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *bd)
{ {
int i, chips, writeops, create, chipsel, res, res2; int i, chips, writeops, create, chipsel, res, res2;
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
struct nand_bbt_descr *td = this->bbt_td; struct nand_bbt_descr *td = this->bbt_td;
struct nand_bbt_descr *md = this->bbt_md; struct nand_bbt_descr *md = this->bbt_md;
struct nand_bbt_descr *rd, *rd2; struct nand_bbt_descr *rd, *rd2;
...@@ -962,7 +962,7 @@ static int check_create(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_desc ...@@ -962,7 +962,7 @@ static int check_create(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_desc
*/ */
static void mark_bbt_region(struct mtd_info *mtd, struct nand_bbt_descr *td) static void mark_bbt_region(struct mtd_info *mtd, struct nand_bbt_descr *td)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int i, j, chips, block, nrblocks, update; int i, j, chips, block, nrblocks, update;
uint8_t oldval; uint8_t oldval;
...@@ -1022,7 +1022,7 @@ static void mark_bbt_region(struct mtd_info *mtd, struct nand_bbt_descr *td) ...@@ -1022,7 +1022,7 @@ static void mark_bbt_region(struct mtd_info *mtd, struct nand_bbt_descr *td)
*/ */
static void verify_bbt_descr(struct mtd_info *mtd, struct nand_bbt_descr *bd) static void verify_bbt_descr(struct mtd_info *mtd, struct nand_bbt_descr *bd)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
u32 pattern_len; u32 pattern_len;
u32 bits; u32 bits;
u32 table_size; u32 table_size;
...@@ -1074,7 +1074,7 @@ static void verify_bbt_descr(struct mtd_info *mtd, struct nand_bbt_descr *bd) ...@@ -1074,7 +1074,7 @@ static void verify_bbt_descr(struct mtd_info *mtd, struct nand_bbt_descr *bd)
*/ */
static int nand_scan_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd) static int nand_scan_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int len, res; int len, res;
uint8_t *buf; uint8_t *buf;
struct nand_bbt_descr *td = this->bbt_td; struct nand_bbt_descr *td = this->bbt_td;
...@@ -1147,7 +1147,7 @@ static int nand_scan_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd) ...@@ -1147,7 +1147,7 @@ static int nand_scan_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd)
*/ */
static int nand_update_bbt(struct mtd_info *mtd, loff_t offs) static int nand_update_bbt(struct mtd_info *mtd, loff_t offs)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int len, res = 0; int len, res = 0;
int chip, chipsel; int chip, chipsel;
uint8_t *buf; uint8_t *buf;
...@@ -1281,7 +1281,7 @@ static int nand_create_badblock_pattern(struct nand_chip *this) ...@@ -1281,7 +1281,7 @@ static int nand_create_badblock_pattern(struct nand_chip *this)
*/ */
int nand_default_bbt(struct mtd_info *mtd) int nand_default_bbt(struct mtd_info *mtd)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int ret; int ret;
/* Is a flash based bad block table requested? */ /* Is a flash based bad block table requested? */
...@@ -1317,7 +1317,7 @@ int nand_default_bbt(struct mtd_info *mtd) ...@@ -1317,7 +1317,7 @@ int nand_default_bbt(struct mtd_info *mtd)
*/ */
int nand_isreserved_bbt(struct mtd_info *mtd, loff_t offs) int nand_isreserved_bbt(struct mtd_info *mtd, loff_t offs)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int block; int block;
block = (int)(offs >> this->bbt_erase_shift); block = (int)(offs >> this->bbt_erase_shift);
...@@ -1332,7 +1332,7 @@ int nand_isreserved_bbt(struct mtd_info *mtd, loff_t offs) ...@@ -1332,7 +1332,7 @@ int nand_isreserved_bbt(struct mtd_info *mtd, loff_t offs)
*/ */
int nand_isbad_bbt(struct mtd_info *mtd, loff_t offs, int allowbbt) int nand_isbad_bbt(struct mtd_info *mtd, loff_t offs, int allowbbt)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int block, res; int block, res;
block = (int)(offs >> this->bbt_erase_shift); block = (int)(offs >> this->bbt_erase_shift);
...@@ -1359,7 +1359,7 @@ int nand_isbad_bbt(struct mtd_info *mtd, loff_t offs, int allowbbt) ...@@ -1359,7 +1359,7 @@ int nand_isbad_bbt(struct mtd_info *mtd, loff_t offs, int allowbbt)
*/ */
int nand_markbad_bbt(struct mtd_info *mtd, loff_t offs) int nand_markbad_bbt(struct mtd_info *mtd, loff_t offs)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd_to_nand(mtd);
int block, ret = 0; int block, ret = 0;
block = (int)(offs >> this->bbt_erase_shift); block = (int)(offs >> this->bbt_erase_shift);
......
...@@ -52,7 +52,7 @@ struct nand_bch_control { ...@@ -52,7 +52,7 @@ struct nand_bch_control {
int nand_bch_calculate_ecc(struct mtd_info *mtd, const unsigned char *buf, int nand_bch_calculate_ecc(struct mtd_info *mtd, const unsigned char *buf,
unsigned char *code) unsigned char *code)
{ {
const struct nand_chip *chip = mtd->priv; const struct nand_chip *chip = mtd_to_nand(mtd);
struct nand_bch_control *nbc = chip->ecc.priv; struct nand_bch_control *nbc = chip->ecc.priv;
unsigned int i; unsigned int i;
...@@ -79,7 +79,7 @@ EXPORT_SYMBOL(nand_bch_calculate_ecc); ...@@ -79,7 +79,7 @@ EXPORT_SYMBOL(nand_bch_calculate_ecc);
int nand_bch_correct_data(struct mtd_info *mtd, unsigned char *buf, int nand_bch_correct_data(struct mtd_info *mtd, unsigned char *buf,
unsigned char *read_ecc, unsigned char *calc_ecc) unsigned char *read_ecc, unsigned char *calc_ecc)
{ {
const struct nand_chip *chip = mtd->priv; const struct nand_chip *chip = mtd_to_nand(mtd);
struct nand_bch_control *nbc = chip->ecc.priv; struct nand_bch_control *nbc = chip->ecc.priv;
unsigned int *errloc = nbc->errloc; unsigned int *errloc = nbc->errloc;
int i, count; int i, count;
......
...@@ -424,7 +424,7 @@ int nand_calculate_ecc(struct mtd_info *mtd, const unsigned char *buf, ...@@ -424,7 +424,7 @@ int nand_calculate_ecc(struct mtd_info *mtd, const unsigned char *buf,
unsigned char *code) unsigned char *code)
{ {
__nand_calculate_ecc(buf, __nand_calculate_ecc(buf,
((struct nand_chip *)mtd->priv)->ecc.size, code); mtd_to_nand(mtd)->ecc.size, code);
return 0; return 0;
} }
...@@ -524,7 +524,7 @@ int nand_correct_data(struct mtd_info *mtd, unsigned char *buf, ...@@ -524,7 +524,7 @@ int nand_correct_data(struct mtd_info *mtd, unsigned char *buf,
unsigned char *read_ecc, unsigned char *calc_ecc) unsigned char *read_ecc, unsigned char *calc_ecc)
{ {
return __nand_correct_data(buf, read_ecc, calc_ecc, return __nand_correct_data(buf, read_ecc, calc_ecc,
((struct nand_chip *)mtd->priv)->ecc.size); mtd_to_nand(mtd)->ecc.size);
} }
EXPORT_SYMBOL(nand_correct_data); EXPORT_SYMBOL(nand_correct_data);
......
...@@ -666,7 +666,7 @@ static char *get_partition_name(int i) ...@@ -666,7 +666,7 @@ static char *get_partition_name(int i)
*/ */
static int init_nandsim(struct mtd_info *mtd) static int init_nandsim(struct mtd_info *mtd)
{ {
struct nand_chip *chip = mtd->priv; struct nand_chip *chip = mtd_to_nand(mtd);
struct nandsim *ns = chip->priv; struct nandsim *ns = chip->priv;
int i, ret = 0; int i, ret = 0;
uint64_t remains; uint64_t remains;
...@@ -1908,7 +1908,7 @@ static void switch_state(struct nandsim *ns) ...@@ -1908,7 +1908,7 @@ static void switch_state(struct nandsim *ns)
static u_char ns_nand_read_byte(struct mtd_info *mtd) static u_char ns_nand_read_byte(struct mtd_info *mtd)
{ {
struct nandsim *ns = ((struct nand_chip *)mtd->priv)->priv; struct nandsim *ns = mtd_to_nand(mtd)->priv;
u_char outb = 0x00; u_char outb = 0x00;
/* Sanity and correctness checks */ /* Sanity and correctness checks */
...@@ -1969,7 +1969,7 @@ static u_char ns_nand_read_byte(struct mtd_info *mtd) ...@@ -1969,7 +1969,7 @@ static u_char ns_nand_read_byte(struct mtd_info *mtd)
static void ns_nand_write_byte(struct mtd_info *mtd, u_char byte) static void ns_nand_write_byte(struct mtd_info *mtd, u_char byte)
{ {
struct nandsim *ns = ((struct nand_chip *)mtd->priv)->priv; struct nandsim *ns = mtd_to_nand(mtd)->priv;
/* Sanity and correctness checks */ /* Sanity and correctness checks */
if (!ns->lines.ce) { if (!ns->lines.ce) {
...@@ -2123,7 +2123,7 @@ static void ns_nand_write_byte(struct mtd_info *mtd, u_char byte) ...@@ -2123,7 +2123,7 @@ static void ns_nand_write_byte(struct mtd_info *mtd, u_char byte)
static void ns_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int bitmask) static void ns_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int bitmask)
{ {
struct nandsim *ns = ((struct nand_chip *)mtd->priv)->priv; struct nandsim *ns = mtd_to_nand(mtd)->priv;
ns->lines.cle = bitmask & NAND_CLE ? 1 : 0; ns->lines.cle = bitmask & NAND_CLE ? 1 : 0;
ns->lines.ale = bitmask & NAND_ALE ? 1 : 0; ns->lines.ale = bitmask & NAND_ALE ? 1 : 0;
...@@ -2141,7 +2141,7 @@ static int ns_device_ready(struct mtd_info *mtd) ...@@ -2141,7 +2141,7 @@ static int ns_device_ready(struct mtd_info *mtd)
static uint16_t ns_nand_read_word(struct mtd_info *mtd) static uint16_t ns_nand_read_word(struct mtd_info *mtd)
{ {
struct nand_chip *chip = (struct nand_chip *)mtd->priv; struct nand_chip *chip = mtd_to_nand(mtd);
NS_DBG("read_word\n"); NS_DBG("read_word\n");
...@@ -2150,7 +2150,7 @@ static uint16_t ns_nand_read_word(struct mtd_info *mtd) ...@@ -2150,7 +2150,7 @@ static uint16_t ns_nand_read_word(struct mtd_info *mtd)
static void ns_nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len) static void ns_nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
{ {
struct nandsim *ns = ((struct nand_chip *)mtd->priv)->priv; struct nandsim *ns = mtd_to_nand(mtd)->priv;
/* Check that chip is expecting data input */ /* Check that chip is expecting data input */
if (!(ns->state & STATE_DATAIN_MASK)) { if (!(ns->state & STATE_DATAIN_MASK)) {
...@@ -2177,7 +2177,7 @@ static void ns_nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len) ...@@ -2177,7 +2177,7 @@ static void ns_nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
static void ns_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len) static void ns_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
{ {
struct nandsim *ns = ((struct nand_chip *)mtd->priv)->priv; struct nandsim *ns = mtd_to_nand(mtd)->priv;
/* Sanity and correctness checks */ /* Sanity and correctness checks */
if (!ns->lines.ce) { if (!ns->lines.ce) {
...@@ -2198,7 +2198,7 @@ static void ns_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len) ...@@ -2198,7 +2198,7 @@ static void ns_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
int i; int i;
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
buf[i] = ((struct nand_chip *)mtd->priv)->read_byte(mtd); buf[i] = mtd_to_nand(mtd)->read_byte(mtd);
return; return;
} }
...@@ -2405,7 +2405,7 @@ module_init(ns_init_module); ...@@ -2405,7 +2405,7 @@ module_init(ns_init_module);
*/ */
static void __exit ns_cleanup_module(void) static void __exit ns_cleanup_module(void)
{ {
struct nandsim *ns = ((struct nand_chip *)nsmtd->priv)->priv; struct nandsim *ns = mtd_to_nand(nsmtd)->priv;
int i; int i;
nandsim_debugfs_remove(ns); nandsim_debugfs_remove(ns);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment