mtd: nand: add a helper to detect the nand type
This helper detects that whether the mtd's type is nand type. Now, it's clear that the MTD_NANDFLASH stands for SLC nand only. So use the mtd_type_is_nand() to replace the old check method to do the nand type (include the SLC and MLC) check. Signed-off-by: Huang Shijie <b32955@freescale.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
This commit is contained in:
parent
fda5b0e24d
commit
818b973929
@ -50,7 +50,7 @@ static void inftl_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)
|
|||||||
struct INFTLrecord *inftl;
|
struct INFTLrecord *inftl;
|
||||||
unsigned long temp;
|
unsigned long temp;
|
||||||
|
|
||||||
if (mtd->type != MTD_NANDFLASH || mtd->size > UINT_MAX)
|
if (!mtd_type_is_nand(mtd) || mtd->size > UINT_MAX)
|
||||||
return;
|
return;
|
||||||
/* OK, this is moderately ugly. But probably safe. Alternatives? */
|
/* OK, this is moderately ugly. But probably safe. Alternatives? */
|
||||||
if (memcmp(mtd->name, "DiskOnChip", 10))
|
if (memcmp(mtd->name, "DiskOnChip", 10))
|
||||||
|
@ -50,7 +50,7 @@ static void nftl_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)
|
|||||||
struct NFTLrecord *nftl;
|
struct NFTLrecord *nftl;
|
||||||
unsigned long temp;
|
unsigned long temp;
|
||||||
|
|
||||||
if (mtd->type != MTD_NANDFLASH || mtd->size > UINT_MAX)
|
if (!mtd_type_is_nand(mtd) || mtd->size > UINT_MAX)
|
||||||
return;
|
return;
|
||||||
/* OK, this is moderately ugly. But probably safe. Alternatives? */
|
/* OK, this is moderately ugly. But probably safe. Alternatives? */
|
||||||
if (memcmp(mtd->name, "DiskOnChip", 10))
|
if (memcmp(mtd->name, "DiskOnChip", 10))
|
||||||
|
@ -290,7 +290,7 @@ static void ssfdcr_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)
|
|||||||
int cis_sector;
|
int cis_sector;
|
||||||
|
|
||||||
/* Check for small page NAND flash */
|
/* Check for small page NAND flash */
|
||||||
if (mtd->type != MTD_NANDFLASH || mtd->oobsize != OOB_SIZE ||
|
if (!mtd_type_is_nand(mtd) || mtd->oobsize != OOB_SIZE ||
|
||||||
mtd->size > UINT_MAX)
|
mtd->size > UINT_MAX)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -349,7 +349,7 @@ static int __init mtd_nandbiterrs_init(void)
|
|||||||
goto exit_mtddev;
|
goto exit_mtddev;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mtd->type != MTD_NANDFLASH) {
|
if (!mtd_type_is_nand(mtd)) {
|
||||||
pr_info("this test requires NAND flash\n");
|
pr_info("this test requires NAND flash\n");
|
||||||
err = -ENODEV;
|
err = -ENODEV;
|
||||||
goto exit_nand;
|
goto exit_nand;
|
||||||
|
@ -289,7 +289,7 @@ static int __init mtd_oobtest_init(void)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mtd->type != MTD_NANDFLASH) {
|
if (!mtd_type_is_nand(mtd)) {
|
||||||
pr_info("this test requires NAND flash\n");
|
pr_info("this test requires NAND flash\n");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -353,7 +353,7 @@ static int __init mtd_pagetest_init(void)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mtd->type != MTD_NANDFLASH) {
|
if (!mtd_type_is_nand(mtd)) {
|
||||||
pr_info("this test requires NAND flash\n");
|
pr_info("this test requires NAND flash\n");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -299,7 +299,7 @@ static int __init mtd_subpagetest_init(void)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mtd->type != MTD_NANDFLASH) {
|
if (!mtd_type_is_nand(mtd)) {
|
||||||
pr_info("this test requires NAND flash\n");
|
pr_info("this test requires NAND flash\n");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -354,6 +354,11 @@ static inline int mtd_has_oob(const struct mtd_info *mtd)
|
|||||||
return mtd->_read_oob && mtd->_write_oob;
|
return mtd->_read_oob && mtd->_write_oob;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int mtd_type_is_nand(const struct mtd_info *mtd)
|
||||||
|
{
|
||||||
|
return mtd->type == MTD_NANDFLASH || mtd->type == MTD_MLCNANDFLASH;
|
||||||
|
}
|
||||||
|
|
||||||
static inline int mtd_can_have_bb(const struct mtd_info *mtd)
|
static inline int mtd_can_have_bb(const struct mtd_info *mtd)
|
||||||
{
|
{
|
||||||
return !!mtd->_block_isbad;
|
return !!mtd->_block_isbad;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user