diff options
author | Ezequiel Garcia <ezequiel.garcia@free-electrons.com> | 2014-05-21 18:06:12 -0400 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2014-07-08 21:38:16 -0400 |
commit | 8471bb73ba10ed6788b4f1e9b8a0f9dc6bdb05b5 (patch) | |
tree | 12fdaa370ab34c38c4057ddca0a2bcd52b5744a8 /include/linux/mtd | |
parent | 990a3af0c20590954be01a95c2c3fcef9360a836 (diff) |
mtd: Introduce mtd_block_isreserved()
In addition to mtd_block_isbad(), which checks if a block is bad or
reserved, it's needed to check if a block is reserved only (but not
bad). This commit adds an MTD interface for it, in a similar fashion to
mtd_block_isbad().
While here, fix mtd_block_isbad() so the out-of-bounds checking is done
before the callback check.
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Pekon Gupta <pekon@ti.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'include/linux/mtd')
-rw-r--r-- | include/linux/mtd/mtd.h | 2 | ||||
-rw-r--r-- | include/linux/mtd/nand.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index a1b0b4c8fd79..031ff3a9a0bd 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h | |||
@@ -222,6 +222,7 @@ struct mtd_info { | |||
222 | int (*_lock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); | 222 | int (*_lock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); |
223 | int (*_unlock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); | 223 | int (*_unlock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); |
224 | int (*_is_locked) (struct mtd_info *mtd, loff_t ofs, uint64_t len); | 224 | int (*_is_locked) (struct mtd_info *mtd, loff_t ofs, uint64_t len); |
225 | int (*_block_isreserved) (struct mtd_info *mtd, loff_t ofs); | ||
225 | int (*_block_isbad) (struct mtd_info *mtd, loff_t ofs); | 226 | int (*_block_isbad) (struct mtd_info *mtd, loff_t ofs); |
226 | int (*_block_markbad) (struct mtd_info *mtd, loff_t ofs); | 227 | int (*_block_markbad) (struct mtd_info *mtd, loff_t ofs); |
227 | int (*_suspend) (struct mtd_info *mtd); | 228 | int (*_suspend) (struct mtd_info *mtd); |
@@ -302,6 +303,7 @@ static inline void mtd_sync(struct mtd_info *mtd) | |||
302 | int mtd_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); | 303 | int mtd_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); |
303 | int mtd_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); | 304 | int mtd_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); |
304 | int mtd_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len); | 305 | int mtd_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len); |
306 | int mtd_block_isreserved(struct mtd_info *mtd, loff_t ofs); | ||
305 | int mtd_block_isbad(struct mtd_info *mtd, loff_t ofs); | 307 | int mtd_block_isbad(struct mtd_info *mtd, loff_t ofs); |
306 | int mtd_block_markbad(struct mtd_info *mtd, loff_t ofs); | 308 | int mtd_block_markbad(struct mtd_info *mtd, loff_t ofs); |
307 | 309 | ||
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 2f0af2891f0f..1cff329ae13d 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h | |||
@@ -810,6 +810,7 @@ extern struct nand_manufacturers nand_manuf_ids[]; | |||
810 | extern int nand_scan_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd); | 810 | extern int nand_scan_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd); |
811 | extern int nand_default_bbt(struct mtd_info *mtd); | 811 | extern int nand_default_bbt(struct mtd_info *mtd); |
812 | extern int nand_markbad_bbt(struct mtd_info *mtd, loff_t offs); | 812 | extern int nand_markbad_bbt(struct mtd_info *mtd, loff_t offs); |
813 | extern int nand_isreserved_bbt(struct mtd_info *mtd, loff_t offs); | ||
813 | extern int nand_isbad_bbt(struct mtd_info *mtd, loff_t offs, int allowbbt); | 814 | extern int nand_isbad_bbt(struct mtd_info *mtd, loff_t offs, int allowbbt); |
814 | extern int nand_erase_nand(struct mtd_info *mtd, struct erase_info *instr, | 815 | extern int nand_erase_nand(struct mtd_info *mtd, struct erase_info *instr, |
815 | int allowbbt); | 816 | int allowbbt); |