spi: Setup the master controller driver before setting the chipselect
SPI controllers may need to be properly setup before chip selects can be used. Therefore, wait until the spi controller has a chance to perform their setup procedure before trying to use the chip select. This also insures that the chip selects pins are in a good state before asseting them which otherwise may cause confusion. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Tested-by: Grygorii Strashko <grygorii.strashko@ti.com> Tested-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
6ff33f3902
commit
abeedb0159
|
@ -1993,11 +1993,11 @@ int spi_setup(struct spi_device *spi)
|
|||
if (!spi->max_speed_hz)
|
||||
spi->max_speed_hz = spi->master->max_speed_hz;
|
||||
|
||||
spi_set_cs(spi, false);
|
||||
|
||||
if (spi->master->setup)
|
||||
status = spi->master->setup(spi);
|
||||
|
||||
spi_set_cs(spi, false);
|
||||
|
||||
dev_dbg(&spi->dev, "setup mode %d, %s%s%s%s%u bits/w, %u Hz max --> %d\n",
|
||||
(int) (spi->mode & (SPI_CPOL | SPI_CPHA)),
|
||||
(spi->mode & SPI_CS_HIGH) ? "cs_high, " : "",
|
||||
|
|
Loading…
Reference in New Issue