Hello Mark, On Wed, 2022-11-30 at 14:57 +0000, Mark Brown wrote: > > /* read requests */ > > case SPI_IOC_RD_MODE: > > - retval = put_user(spi->mode & SPI_MODE_MASK, > > - (__u8 __user *)arg); > > + tmp = spi->mode; > > + > > + { > > + struct spi_controller *ctlr = spi- > > >controller; > > + > > + if (ctlr->use_gpio_descriptors && ctlr- > > >cs_gpiods && > > + ctlr->cs_gpiods[spi->chip_select]) > > + tmp &= ~SPI_CS_HIGH; > > + } > > + > > + retval = put_user(tmp & SPI_MODE_MASK, (__u8 > > __user *)arg); > > break; > > case SPI_IOC_RD_MODE32: > > retval = put_user(spi->mode & SPI_MODE_MASK, > > What about SPI_IOC_RD_MODE_32? On the write path the code is > shared... you are right, thanks for this hint! I'll re-send if there are no objections to this approach in general. -- Alexander Sverdlin Siemens AG www.siemens.com