diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2015-10-07 08:23:45 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-10-07 08:23:45 +0200 |
commit | 181bb315d046da57126b1b93a5d695bb634e3e5f (patch) | |
tree | 814a395ae110dafbad689d3b11b67ea7731e2c07 /include | |
parent | c8fa7eed6695fb261cdeba49136ac8611e409952 (diff) | |
parent | 49a1eeb04b3e47d79e2bb08ff5fbdad945819872 (diff) | |
download | barebox-181bb315d046da57126b1b93a5d695bb634e3e5f.tar.gz barebox-181bb315d046da57126b1b93a5d695bb634e3e5f.tar.xz |
Merge branch 'for-next/mtd'
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mtd/nand.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 3c7509f9af..f126cd9fbf 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -430,6 +430,7 @@ struct nand_buffers { * @badblockbits: [INTERN] minimum number of set bits in a good block's * bad block marker position; i.e., BBM == 11110111b is * not bad when badblockbits == 7 + * @bits_per_cell: [INTERN] number of bits per cell. i.e., 1 means SLC. * @cellinfo: [INTERN] MLC/multichip data from chip ident * @numchips: [INTERN] number of physical chips * @chipsize: [INTERN] the size of one chip for multichip arrays @@ -506,6 +507,7 @@ struct nand_chip { int pagebuf; unsigned int pagebuf_bitflips; int subpagesize; + uint8_t bits_per_cell; uint8_t cellinfo; int badblockpos; int badblockbits; @@ -722,4 +724,14 @@ static inline int onfi_get_sync_timing_mode(struct nand_chip *chip) return le16_to_cpu(chip->onfi_params.src_sync_timing_mode); } +/* + * Check if it is a SLC nand. + * The !nand_is_slc() can be used to check the MLC/TLC nand chips. + * We do not distinguish the MLC and TLC now. + */ +static inline bool nand_is_slc(struct nand_chip *chip) +{ + return chip->bits_per_cell == 1; +} + #endif /* __LINUX_MTD_NAND_H */ |