spi: spi-gpio: fix SPI_CS_HIGH capability
spi-gpio is capable of dealing with active-high chip-selects. Unfortunately, commit4b859db2c6
("spi: spi-gpio: add SPI_3WIRE support") broke this by setting master->mode_bits, which overrides the setting in the spi-bitbang code. Fix this. [Fixed a trivial conflict with SPI_3WIRE_HIZ support -- broonie] Fixes:4b859db2c6
("spi: spi-gpio: add SPI_3WIRE support") Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
This commit is contained in:
parent
ef070b4e4a
commit
b89fefda7d
|
@ -428,7 +428,8 @@ static int spi_gpio_probe(struct platform_device *pdev)
|
||||||
return status;
|
return status;
|
||||||
|
|
||||||
master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
|
master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
|
||||||
master->mode_bits = SPI_3WIRE | SPI_3WIRE_HIZ | SPI_CPHA | SPI_CPOL;
|
master->mode_bits = SPI_3WIRE | SPI_3WIRE_HIZ | SPI_CPHA | SPI_CPOL |
|
||||||
|
SPI_CS_HIGH;
|
||||||
master->flags = master_flags;
|
master->flags = master_flags;
|
||||||
master->bus_num = pdev->id;
|
master->bus_num = pdev->id;
|
||||||
/* The master needs to think there is a chipselect even if not connected */
|
/* The master needs to think there is a chipselect even if not connected */
|
||||||
|
@ -455,7 +456,6 @@ static int spi_gpio_probe(struct platform_device *pdev)
|
||||||
spi_gpio->bitbang.txrx_word[SPI_MODE_3] = spi_gpio_spec_txrx_word_mode3;
|
spi_gpio->bitbang.txrx_word[SPI_MODE_3] = spi_gpio_spec_txrx_word_mode3;
|
||||||
}
|
}
|
||||||
spi_gpio->bitbang.setup_transfer = spi_bitbang_setup_transfer;
|
spi_gpio->bitbang.setup_transfer = spi_bitbang_setup_transfer;
|
||||||
spi_gpio->bitbang.flags = SPI_CS_HIGH;
|
|
||||||
|
|
||||||
status = spi_bitbang_start(&spi_gpio->bitbang);
|
status = spi_bitbang_start(&spi_gpio->bitbang);
|
||||||
if (status)
|
if (status)
|
||||||
|
|
Loading…
Reference in New Issue