]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
spi: spi-mem: Add SPI_MEM_NO_DATA to the spi_mem_data_dir enum
authorBoris Brezillon <boris.brezillon@bootlin.com>
Tue, 6 Nov 2018 16:05:31 +0000 (17:05 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 20 Nov 2018 16:26:26 +0000 (16:26 +0000)
When defining spi_mem_op templates we don't necessarily know the size
that will be passed when the template is actually used, and basing the
supports_op() check on op->data.nbytes to know whether there will be
data transferred for a specific operation is this not possible.

Add SPI_MEM_NO_DATA to the spi_mem_data_dir enum so that we can base
our checks on op->data.dir instead of op->data.nbytes.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-mem.c
include/linux/spi/spi-mem.h

index 62a7b80801d22098f24f8bc0711b7d5f63c557d6..967f581bca4f44bcade05146209d472f03bf5d80 100644 (file)
@@ -142,7 +142,7 @@ static bool spi_mem_default_supports_op(struct spi_mem *mem,
            spi_check_buswidth_req(mem, op->dummy.buswidth, true))
                return false;
 
-       if (op->data.nbytes &&
+       if (op->data.dir != SPI_MEM_NO_DATA &&
            spi_check_buswidth_req(mem, op->data.buswidth,
                                   op->data.dir == SPI_MEM_DATA_OUT))
                return false;
index 867839cc69a7c6c41f31d96ee649da548003e89d..250b6f5c47c273e04700c60edb1246f01969add3 100644 (file)
 /**
  * enum spi_mem_data_dir - describes the direction of a SPI memory data
  *                        transfer from the controller perspective
+ * @SPI_MEM_NO_DATA: no data transferred
  * @SPI_MEM_DATA_IN: data coming from the SPI memory
  * @SPI_MEM_DATA_OUT: data sent to the SPI memory
  */
 enum spi_mem_data_dir {
+       SPI_MEM_NO_DATA,
        SPI_MEM_DATA_IN,
        SPI_MEM_DATA_OUT,
 };