mtd: m25p80: drop wait-till-ready checks
authorBrian Norris <computersforpeace@gmail.com>
Thu, 7 Aug 2014 01:16:58 +0000 (18:16 -0700)
committerBrian Norris <computersforpeace@gmail.com>
Wed, 5 Nov 2014 10:08:20 +0000 (02:08 -0800)
spi-nor.c should be taking care of these now.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
drivers/mtd/devices/m25p80.c
include/linux/mtd/spi-nor.h

index 5d4482512e36f79587f1745a2ed9579237e041ff..35e7e9896b179731c1011f04deb14001b3f6c477 100644 (file)
@@ -129,16 +129,10 @@ static int m25p80_read(struct spi_nor *nor, loff_t from, size_t len,
        struct spi_transfer t[2];
        struct spi_message m;
        unsigned int dummy = nor->read_dummy;
-       int ret;
 
        /* convert the dummy cycles to the number of bytes */
        dummy /= 8;
 
-       /* Wait till previous write/erase is done. */
-       ret = nor->wait_till_ready(nor);
-       if (ret)
-               return ret;
-
        spi_message_init(&m);
        memset(t, 0, (sizeof t));
 
@@ -168,11 +162,6 @@ static int m25p80_erase(struct spi_nor *nor, loff_t offset)
        dev_dbg(nor->dev, "%dKiB at 0x%08x\n",
                flash->mtd.erasesize / 1024, (u32)offset);
 
-       /* Wait until finished previous write command. */
-       ret = nor->wait_till_ready(nor);
-       if (ret)
-               return ret;
-
        /* Send write enable, then erase commands. */
        ret = nor->write_reg(nor, SPINOR_OP_WREN, NULL, 0, 0);
        if (ret)
index 2f27713b3ae10f7145d4be63c6be6532da3251bd..d691025d9b002b8309abfad059892c55d8682ba0 100644 (file)
@@ -116,6 +116,10 @@ enum spi_nor_ops {
        SPI_NOR_OPS_UNLOCK,
 };
 
+enum spi_nor_option_flags {
+       SNOR_F_USE_FSR          = BIT(0),
+};
+
 /**
  * struct spi_nor - Structure for defining a the SPI NOR layer
  * @mtd:               point to a mtd_info structure
@@ -129,6 +133,7 @@ enum spi_nor_ops {
  * @program_opcode:    the program opcode
  * @flash_read:                the mode of the read
  * @sst_write_second:  used by the SST write operation
+ * @flags:             flag options for the current SPI-NOR (SNOR_F_*)
  * @cfg:               used by the read_xfer/write_xfer
  * @cmd_buf:           used by the write_reg
  * @prepare:           [OPTIONAL] do some preparations for the
@@ -158,6 +163,7 @@ struct spi_nor {
        u8                      program_opcode;
        enum read_mode          flash_read;
        bool                    sst_write_second;
+       u32                     flags;
        struct spi_nor_xfer_cfg cfg;
        u8                      cmd_buf[SPI_NOR_MAX_CMD_SIZE];