mtd: rawnand: Kill the chip->scan_bbt() hook
authorBoris Brezillon <boris.brezillon@bootlin.com>
Thu, 5 Jul 2018 10:27:31 +0000 (12:27 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 18 Jul 2018 08:10:12 +0000 (10:10 +0200)
None of the existing drivers are overloading the ->scan_bbt() method,
let's get rid of it and replace calls to ->scan_bbt() by
nand_create_bbt() ones.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/nand/raw/diskonchip.c
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
drivers/mtd/nand/raw/nand_base.c
drivers/mtd/nand/raw/nandsim.c
include/linux/mtd/rawnand.h

index 8d10061..3c46188 100644 (file)
@@ -1291,7 +1291,7 @@ static int __init nftl_scan_bbt(struct mtd_info *mtd)
                this->bbt_md = NULL;
        }
 
-       ret = this->scan_bbt(mtd);
+       ret = nand_create_bbt(this);
        if (ret)
                return ret;
 
@@ -1338,7 +1338,7 @@ static int __init inftl_scan_bbt(struct mtd_info *mtd)
                this->bbt_md->pattern = "TBB_SYSM";
        }
 
-       ret = this->scan_bbt(mtd);
+       ret = nand_create_bbt(this);
        if (ret)
                return ret;
 
index 58d4e4a..5995133 100644 (file)
@@ -1944,7 +1944,7 @@ static int gpmi_nand_init(struct gpmi_nand_data *this)
        ret = nand_boot_init(this);
        if (ret)
                goto err_nand_cleanup;
-       ret = chip->scan_bbt(mtd);
+       ret = nand_create_bbt(chip);
        if (ret)
                goto err_nand_cleanup;
 
index 0476e13..4fa5e20 100644 (file)
@@ -4924,11 +4924,6 @@ static void nand_shutdown(struct mtd_info *mtd)
        nand_get_device(mtd, FL_PM_SUSPENDED);
 }
 
-static int nand_default_bbt(struct mtd_info *mtd)
-{
-       return nand_create_bbt(mtd_to_nand(mtd));
-}
-
 /* Set default functions */
 static void nand_set_defaults(struct nand_chip *chip)
 {
@@ -4970,8 +4965,6 @@ static void nand_set_defaults(struct nand_chip *chip)
                chip->write_byte = busw ? nand_write_byte16 : nand_write_byte;
        if (!chip->read_buf || chip->read_buf == nand_read_buf)
                chip->read_buf = busw ? nand_read_buf16 : nand_read_buf;
-       if (!chip->scan_bbt)
-               chip->scan_bbt = nand_default_bbt;
 
        if (!chip->controller) {
                chip->controller = &chip->hwcontrol;
@@ -6673,7 +6666,7 @@ int nand_scan_tail(struct mtd_info *mtd)
                return 0;
 
        /* Build bad block table */
-       ret = chip->scan_bbt(mtd);
+       ret = nand_create_bbt(chip);
        if (ret)
                goto err_nand_manuf_cleanup;
 
index f8edacd..8a3b36c 100644 (file)
@@ -2337,7 +2337,7 @@ static int __init ns_init_module(void)
        if ((retval = init_nandsim(nsmtd)) != 0)
                goto err_exit;
 
-       if ((retval = chip->scan_bbt(nsmtd)) != 0)
+       if ((retval = nand_create_bbt(chip)) != 0)
                goto err_exit;
 
        if ((retval = parse_badblocks(nand, nsmtd)) != 0)
index 186f9fb..ac0007d 100644 (file)
@@ -1199,7 +1199,6 @@ int nand_op_parser_exec_op(struct nand_chip *chip,
  * @buf_align:         minimum buffer alignment required by a platform
  * @hwcontrol:         platform-specific hardware control structure
  * @erase:             [REPLACEABLE] erase function
- * @scan_bbt:          [REPLACEABLE] function to scan bad block table
  * @chip_delay:                [BOARDSPECIFIC] chip dependent delay for transferring
  *                     data from array to read regs (tR).
  * @state:             [INTERN] the current state of the NAND device
@@ -1292,7 +1291,6 @@ struct nand_chip {
                       const struct nand_operation *op,
                       bool check_only);
        int (*erase)(struct mtd_info *mtd, int page);
-       int (*scan_bbt)(struct mtd_info *mtd);
        int (*set_features)(struct mtd_info *mtd, struct nand_chip *chip,
                            int feature_addr, uint8_t *subfeature_para);
        int (*get_features)(struct mtd_info *mtd, struct nand_chip *chip,