Re: [RFC PATCH 5/6] mtd: spi-nor: Use the spi_mem_xx() API

Vignesh R
2018-02-12T11:44:40Z

On Tuesday 06 February 2018 04:51 AM, Boris Brezillon wrote:
> From: Boris Brezillon <boris.brezillon@free-electrons.com>
>
> The spi_mem_xxx() API has been introduced to replace the
> spi_flash_read() one. Make use of it so we can get rid of
> spi_flash_read().
>
> Note that using spi_mem_xx() also simplifies the code because this API
> takes care of using the regular spi_sync() interface when the optimized
> ->mem_ops interface is not implemented by the controller.
>
> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> ---
[...]
> /*
> @@ -138,92 +121,42 @@ static ssize_t m25p80_read(struct spi_nor *nor, loff_t from, size_t len,
> u_char *buf)
> {
> struct m25p *flash = nor->priv;
> - struct spi_device *spi = flash->spi;
> - unsigned int inst_nbits, addr_nbits, data_nbits, data_idx;
> - struct spi_transfer t[3];
> - struct spi_message m;
> - unsigned int dummy = nor->read_dummy;
> - ssize_t ret;
> - int cmd_sz;
> + u8 addrs[4];
> + struct spi_mem_op op =
> + SPI_MEM_OP(SPI_MEM_OP_CMD(nor->read_opcode, 1),
> + SPI_MEM_OP_ADDRS(nor->addr_width, addrs, 1),
> + SPI_MEM_OP_DUMMY(nor->read_dummy, 1),
> + SPI_MEM_OP_DATA_OUT(len, buf, 1));

^^^^ SPI_MEM_OP_DATA_IN

[...]

--
Regards
Vignesh