]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
spi: introduce SPI_MODE_X_MASK macro
authorOleksij Rempel <o.rempel@pengutronix.de>
Tue, 27 Oct 2020 09:57:23 +0000 (10:57 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 11 Nov 2020 12:39:30 +0000 (12:39 +0000)
Provide a macro to filter all SPI_MODE_0,1,2,3 mode in one run.

The latest SPI framework will parse the devicetree in following call
sequence: of_register_spi_device() -> of_spi_parse_dt()
So, driver do not need to pars the devicetree and will get prepared
flags in the probe.

On one hand it is good far most drivers. On other hand some drivers need to
filter flags provide by SPI framework and apply know to work flags. This drivers
may use SPI_MODE_X_MASK to filter MODE flags and set own, known flags:
  spi->flags &= ~SPI_MODE_X_MASK;
  spi->flags |= SPI_MODE_0;

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20201027095724.18654-2-o.rempel@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
include/linux/spi/spi.h

index 99380c0825dbe1818460556312fee5d23c9c9fc1..8097f27702f3ce994fcd2a9adab187a3f4617083 100644 (file)
@@ -171,6 +171,7 @@ struct spi_device {
 #define        SPI_MODE_1      (0|SPI_CPHA)
 #define        SPI_MODE_2      (SPI_CPOL|0)
 #define        SPI_MODE_3      (SPI_CPOL|SPI_CPHA)
+#define        SPI_MODE_X_MASK (SPI_CPOL|SPI_CPHA)
 #define        SPI_CS_HIGH     0x04                    /* chipselect active high? */
 #define        SPI_LSB_FIRST   0x08                    /* per-word bits-on-wire */
 #define        SPI_3WIRE       0x10                    /* SI/SO signals shared */