Re: [RFC PATCH 4/6] spi: ti-qspi: Implement the spi_mem interface

Vignesh R
2018-02-12T11:43:51Z

On Tuesday 06 February 2018 04:51 AM, Boris Brezillon wrote:
> From: Boris Brezillon <boris.brezillon@free-electrons.com>
>
> The spi_mem interface is meant to replace the spi_flash_read() one.
> Implement the ->exec_op() method so that we can smoothly get rid of the
> old interface.
>
> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> ---
> drivers/spi/spi-ti-qspi.c | 85 +++++++++++++++++++++++++++++++++++++++--------
> 1 file changed, 72 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c
> index c24d9b45a27c..40cac3ef6cc9 100644
> --- a/drivers/spi/spi-ti-qspi.c
> +++ b/drivers/spi/spi-ti-qspi.c

[...]

> +static const struct spi_controller_mem_ops ti_qspi_mem_ops = {
> + .exec_op = ti_qspi_exec_mem_op,

.supports_op = ti_qspi_supports_mem_op,

Its required as per spi_controller_check_ops() in Patch 1/6

> +};
> +
> static int ti_qspi_start_transfer_one(struct spi_master *master,
> struct spi_message *m)
> {
> @@ -673,6 +730,7 @@ static int ti_qspi_probe(struct platform_device *pdev)
> master->bits_per_word_mask = SPI_BPW_MASK(32) | SPI_BPW_MASK(16) |
> SPI_BPW_MASK(8);
> master->spi_flash_read = ti_qspi_spi_flash_read;
> + master->mem_ops = &ti_qspi_mem_ops;
>
> if (!of_property_read_u32(np, "num-cs", &num_cs))
> master->num_chipselect = num_cs;
> @@ -785,6 +843,7 @@ static int ti_qspi_probe(struct platform_device *pdev)
> PTR_ERR(qspi->mmap_base));
> qspi->mmap_base = NULL;
> master->spi_flash_read = NULL;
> + master->mem_ops = NULL;
> }
> }
> qspi->mmap_enabled = false;
>

--
Regards
Vignesh