Re: [PATCH] spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE

From: Sverdlin, Alexander
Date: Wed Nov 30 2022 - 10:43:40 EST


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