On Fri, Nov 6, 2020 at 5:08 PM Sven Van Asbroeck <thesven73@xxxxxxxxx> wrote: > > From: Sven Van Asbroeck <thesven73@xxxxxxxxx> > > Commit f3186dd87669 ("spi: Optionally use GPIO descriptors for CS GPIOs") > introduced the optional use of GPIO descriptors for chip selects. > > A side-effect of this change: when a SPI bus uses GPIO descriptors, > all its client devices have SPI_CS_HIGH set in spi->mode. This flag is > required for the SPI bus to operate correctly. > > This unfortunately breaks many client drivers, which use the following > pattern to configure their underlying SPI bus: > > static int client_device_probe(struct spi_device *spi) > { > ... > spi->mode = SPI_MODE_0; > spi->bits_per_word = 8; > err = spi_setup(spi); > .. > } > > In short, many client drivers overwrite the SPI_CS_HIGH bit in > spi->mode, and break the underlying SPI bus driver. Sounds like "many SPI drivers have to be fixed". -- With Best Regards, Andy Shevchenko