Merge remote-tracking branch 'spi/topic/davinci' into spi-next

This commit is contained in:
Mark Brown 2015-11-04 11:02:02 +00:00
commit f0a2a049f5

View file

@ -215,18 +215,10 @@ static void davinci_spi_chipselect(struct spi_device *spi, int value)
struct davinci_spi_config *spicfg = spi->controller_data;
u8 chip_sel = spi->chip_select;
u16 spidat1 = CS_DEFAULT;
bool gpio_chipsel = false;
int gpio;
dspi = spi_master_get_devdata(spi->master);
pdata = &dspi->pdata;
if (spi->cs_gpio >= 0) {
/* SPI core parse and update master->cs_gpio */
gpio_chipsel = true;
gpio = spi->cs_gpio;
}
/* program delay transfers if tx_delay is non zero */
if (spicfg->wdelay)
spidat1 |= SPIDAT1_WDEL;
@ -235,11 +227,12 @@ static void davinci_spi_chipselect(struct spi_device *spi, int value)
* Board specific chip select logic decides the polarity and cs
* line for the controller
*/
if (gpio_chipsel) {
if (spi->cs_gpio >= 0) {
if (value == BITBANG_CS_ACTIVE)
gpio_set_value(gpio, spi->mode & SPI_CS_HIGH);
gpio_set_value(spi->cs_gpio, spi->mode & SPI_CS_HIGH);
else
gpio_set_value(gpio, !(spi->mode & SPI_CS_HIGH));
gpio_set_value(spi->cs_gpio,
!(spi->mode & SPI_CS_HIGH));
} else {
if (value == BITBANG_CS_ACTIVE) {
spidat1 |= SPIDAT1_CSHOLD_MASK;