spidev_ioctl() checks if there is an SPI chip select is driven by GPIO.
Instead of current code, we can call spi_get_csgpiod().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/spi/spidev.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index dc516f0ca71f..e324b42c658c 100644
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -393,8 +393,7 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
case SPI_IOC_RD_MODE32:
tmp = spi->mode;
- if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods &&
- ctlr->cs_gpiods[spi_get_chipselect(spi, 0)])
+ if (ctlr->use_gpio_descriptors && spi_get_csgpiod(spi, 0))
tmp &= ~SPI_CS_HIGH;
if (cmd == SPI_IOC_RD_MODE)
@@ -430,8 +429,7 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
break;
}
- if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods &&
- ctlr->cs_gpiods[spi_get_chipselect(spi, 0)])
+ if (ctlr->use_gpio_descriptors && spi_get_csgpiod(spi, 0))
tmp |= SPI_CS_HIGH;
tmp |= spi->mode & ~SPI_MODE_MASK;
--
2.40.0.1.gaa8946217a0b
Hi!
On Thu, 2023-08-24 at 19:22 +0300, Andy Shevchenko wrote:
> spidev_ioctl() checks if there is an SPI chip select is driven by GPIO.
^^^ ?
> Instead of current code, we can call spi_get_csgpiod().
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> ---
> drivers/spi/spidev.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
> index dc516f0ca71f..e324b42c658c 100644
> --- a/drivers/spi/spidev.c
> +++ b/drivers/spi/spidev.c
> @@ -393,8 +393,7 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
> case SPI_IOC_RD_MODE32:
> tmp = spi->mode;
>
> - if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods &&
> - ctlr->cs_gpiods[spi_get_chipselect(spi, 0)])
> + if (ctlr->use_gpio_descriptors && spi_get_csgpiod(spi, 0))
> tmp &= ~SPI_CS_HIGH;
>
> if (cmd == SPI_IOC_RD_MODE)
> @@ -430,8 +429,7 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
> break;
> }
>
> - if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods &&
> - ctlr->cs_gpiods[spi_get_chipselect(spi, 0)])
> + if (ctlr->use_gpio_descriptors && spi_get_csgpiod(spi, 0))
> tmp |= SPI_CS_HIGH;
>
> tmp |= spi->mode & ~SPI_MODE_MASK;
--
Alexander Sverdlin
Siemens AG
www.siemens.com
© 2016 - 2025 Red Hat, Inc.