diff options
Diffstat (limited to 'drivers/spi/spidev.c')
| -rw-r--r-- | drivers/spi/spidev.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c index 1e217e3e9486..2ab6e782f14c 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c @@ -396,6 +396,7 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)  		else  			retval = get_user(tmp, (u32 __user *)arg);  		if (retval == 0) { +			struct spi_controller *ctlr = spi->controller;  			u32	save = spi->mode;  			if (tmp & ~SPI_MODE_MASK) { @@ -403,6 +404,10 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)  				break;  			} +			if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods && +			    ctlr->cs_gpiods[spi->chip_select]) +				tmp |= SPI_CS_HIGH; +  			tmp |= spi->mode & ~SPI_MODE_MASK;  			spi->mode = (u16)tmp;  			retval = spi_setup(spi); |