mtd: rawnand: denali: remove ->erase hook
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 21 Jan 2019 04:52:06 +0000 (13:52 +0900)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 5 Feb 2019 15:56:10 +0000 (16:56 +0100)
Commit f9ebd1bb4103 ("mtd: rawnand: Deprecate ->erase()") discouraged
the use of this hook, so I am happy to follow the suggestion.

Although the Denali IP provides a special MAP10 command for erasing,
using it would not buy us much. The Denali IP actually works with the
generic erasing by single_erase() + ->cmdfunc hook (nand_command_lp)
+ ->cmd_ctrl hook (denali_cmd_ctrl).

This method is also deprecated, but denali_erase() can go away
irrespective of ->exec_op conversion.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Boris Brezillon <bbrezillon@kernel.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/nand/raw/denali.c

index eebac35..87fff94 100644 (file)
@@ -37,9 +37,6 @@
 #define DENALI_MAP11_ADDR      ((DENALI_MAP11) | 1)    /* address cycle */
 #define DENALI_MAP11_DATA      ((DENALI_MAP11) | 2)    /* data cycle */
 
-/* MAP10 commands */
-#define DENALI_ERASE           0x01
-
 #define DENALI_BANK(denali)    ((denali)->active_bank << 24)
 
 #define DENALI_INVALID_BANK    -1
@@ -903,23 +900,6 @@ static int denali_waitfunc(struct nand_chip *chip)
        return irq_status & INTR__INT_ACT ? 0 : NAND_STATUS_FAIL;
 }
 
-static int denali_erase(struct nand_chip *chip, int page)
-{
-       struct denali_nand_info *denali = mtd_to_denali(nand_to_mtd(chip));
-       uint32_t irq_status;
-
-       denali_reset_irq(denali);
-
-       denali->host_write(denali, DENALI_MAP10 | DENALI_BANK(denali) | page,
-                          DENALI_ERASE);
-
-       /* wait for erase to complete or failure to occur */
-       irq_status = denali_wait_for_irq(denali,
-                                        INTR__ERASE_COMP | INTR__ERASE_FAIL);
-
-       return irq_status & INTR__ERASE_COMP ? 0 : -EIO;
-}
-
 static int denali_setup_data_interface(struct nand_chip *chip, int chipnr,
                                       const struct nand_data_interface *conf)
 {
@@ -1244,7 +1224,6 @@ static int denali_attach_chip(struct nand_chip *chip)
        chip->ecc.write_page_raw = denali_write_page_raw;
        chip->ecc.read_oob = denali_read_oob;
        chip->ecc.write_oob = denali_write_oob;
-       chip->legacy.erase = denali_erase;
 
        ret = denali_multidev_fixup(denali);
        if (ret)