On Mon, 12 Feb 2018 17:14:21 +0530 Vignesh R <vigneshr@xxxxxx> wrote: > On Tuesday 06 February 2018 04:51 AM, Boris Brezillon wrote: > > From: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> > > > > 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@xxxxxxxxxxxxxxxxxx> > > --- > [...] > > /* > > @@ -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 Nice catch! I'll fix that in v2. -- Boris Brezillon, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering http://bootlin.com -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html