mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-17 20:54:10 +00:00
spi: fsl: Fix driver breakage when SPI_CS_HIGH is not set in spi->mode
Commit766c6b63aa
("spi: fix client driver breakages when using GPIO descriptors") broke fsl spi driver. As now we fully rely on gpiolib for handling the polarity of chip selects, the driver shall not alter the GPIO value anymore when SPI_CS_HIGH is not set in spi->mode. Fixes:766c6b63aa
("spi: fix client driver breakages when using GPIO descriptors") Cc: stable@vger.kernel.org Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Link: https://lore.kernel.org/r/6b51cc2bfbca70d3e9b9da7b7aa4c7a9d793ca0e.1610629002.git.christophe.leroy@csgroup.eu Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
7c53f6b671
commit
7a2da5d796
1 changed files with 2 additions and 3 deletions
|
@ -115,14 +115,13 @@ static void fsl_spi_chipselect(struct spi_device *spi, int value)
|
|||
{
|
||||
struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(spi->master);
|
||||
struct fsl_spi_platform_data *pdata;
|
||||
bool pol = spi->mode & SPI_CS_HIGH;
|
||||
struct spi_mpc8xxx_cs *cs = spi->controller_state;
|
||||
|
||||
pdata = spi->dev.parent->parent->platform_data;
|
||||
|
||||
if (value == BITBANG_CS_INACTIVE) {
|
||||
if (pdata->cs_control)
|
||||
pdata->cs_control(spi, !pol);
|
||||
pdata->cs_control(spi, false);
|
||||
}
|
||||
|
||||
if (value == BITBANG_CS_ACTIVE) {
|
||||
|
@ -134,7 +133,7 @@ static void fsl_spi_chipselect(struct spi_device *spi, int value)
|
|||
fsl_spi_change_mode(spi);
|
||||
|
||||
if (pdata->cs_control)
|
||||
pdata->cs_control(spi, pol);
|
||||
pdata->cs_control(spi, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue