diff options
author | Brian Norris <computersforpeace@gmail.com> | 2014-08-06 21:16:58 -0400 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2014-11-05 05:08:20 -0500 |
commit | 6af91949ab7462d0917f436820c263ae9a89322c (patch) | |
tree | 2ab56ef66ad4ee6c997f3ac8fb1ca51160231cc3 | |
parent | dfa9c0cba4ea20e766bbb4f89152b05d00ab9ab3 (diff) |
mtd: m25p80: drop wait-till-ready checks
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>
-rw-r--r-- | drivers/mtd/devices/m25p80.c | 11 | ||||
-rw-r--r-- | include/linux/mtd/spi-nor.h | 6 |
2 files changed, 6 insertions, 11 deletions
diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 5d4482512e36..35e7e9896b17 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c | |||
@@ -129,16 +129,10 @@ static int m25p80_read(struct spi_nor *nor, loff_t from, size_t len, | |||
129 | struct spi_transfer t[2]; | 129 | struct spi_transfer t[2]; |
130 | struct spi_message m; | 130 | struct spi_message m; |
131 | unsigned int dummy = nor->read_dummy; | 131 | unsigned int dummy = nor->read_dummy; |
132 | int ret; | ||
133 | 132 | ||
134 | /* convert the dummy cycles to the number of bytes */ | 133 | /* convert the dummy cycles to the number of bytes */ |
135 | dummy /= 8; | 134 | dummy /= 8; |
136 | 135 | ||
137 | /* Wait till previous write/erase is done. */ | ||
138 | ret = nor->wait_till_ready(nor); | ||
139 | if (ret) | ||
140 | return ret; | ||
141 | |||
142 | spi_message_init(&m); | 136 | spi_message_init(&m); |
143 | memset(t, 0, (sizeof t)); | 137 | memset(t, 0, (sizeof t)); |
144 | 138 | ||
@@ -168,11 +162,6 @@ static int m25p80_erase(struct spi_nor *nor, loff_t offset) | |||
168 | dev_dbg(nor->dev, "%dKiB at 0x%08x\n", | 162 | dev_dbg(nor->dev, "%dKiB at 0x%08x\n", |
169 | flash->mtd.erasesize / 1024, (u32)offset); | 163 | flash->mtd.erasesize / 1024, (u32)offset); |
170 | 164 | ||
171 | /* Wait until finished previous write command. */ | ||
172 | ret = nor->wait_till_ready(nor); | ||
173 | if (ret) | ||
174 | return ret; | ||
175 | |||
176 | /* Send write enable, then erase commands. */ | 165 | /* Send write enable, then erase commands. */ |
177 | ret = nor->write_reg(nor, SPINOR_OP_WREN, NULL, 0, 0); | 166 | ret = nor->write_reg(nor, SPINOR_OP_WREN, NULL, 0, 0); |
178 | if (ret) | 167 | if (ret) |
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h index 2f27713b3ae1..d691025d9b00 100644 --- a/include/linux/mtd/spi-nor.h +++ b/include/linux/mtd/spi-nor.h | |||
@@ -116,6 +116,10 @@ enum spi_nor_ops { | |||
116 | SPI_NOR_OPS_UNLOCK, | 116 | SPI_NOR_OPS_UNLOCK, |
117 | }; | 117 | }; |
118 | 118 | ||
119 | enum spi_nor_option_flags { | ||
120 | SNOR_F_USE_FSR = BIT(0), | ||
121 | }; | ||
122 | |||
119 | /** | 123 | /** |
120 | * struct spi_nor - Structure for defining a the SPI NOR layer | 124 | * struct spi_nor - Structure for defining a the SPI NOR layer |
121 | * @mtd: point to a mtd_info structure | 125 | * @mtd: point to a mtd_info structure |
@@ -129,6 +133,7 @@ enum spi_nor_ops { | |||
129 | * @program_opcode: the program opcode | 133 | * @program_opcode: the program opcode |
130 | * @flash_read: the mode of the read | 134 | * @flash_read: the mode of the read |
131 | * @sst_write_second: used by the SST write operation | 135 | * @sst_write_second: used by the SST write operation |
136 | * @flags: flag options for the current SPI-NOR (SNOR_F_*) | ||
132 | * @cfg: used by the read_xfer/write_xfer | 137 | * @cfg: used by the read_xfer/write_xfer |
133 | * @cmd_buf: used by the write_reg | 138 | * @cmd_buf: used by the write_reg |
134 | * @prepare: [OPTIONAL] do some preparations for the | 139 | * @prepare: [OPTIONAL] do some preparations for the |
@@ -158,6 +163,7 @@ struct spi_nor { | |||
158 | u8 program_opcode; | 163 | u8 program_opcode; |
159 | enum read_mode flash_read; | 164 | enum read_mode flash_read; |
160 | bool sst_write_second; | 165 | bool sst_write_second; |
166 | u32 flags; | ||
161 | struct spi_nor_xfer_cfg cfg; | 167 | struct spi_nor_xfer_cfg cfg; |
162 | u8 cmd_buf[SPI_NOR_MAX_CMD_SIZE]; | 168 | u8 cmd_buf[SPI_NOR_MAX_CMD_SIZE]; |
163 | 169 | ||