All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: Alexandru Ardelean <alexandru.ardelean@analog.com>
Cc: linux-spi <linux-spi@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Rob Herring <robh+dt@kernel.org>, Mark Brown <broonie@kernel.org>,
	"Bogdan, Dragos" <dragos.bogdan@analog.com>
Subject: Re: [PATCH v3 2/3] spi: Add SPI_NO_TX/RX support
Date: Fri, 27 Nov 2020 16:22:51 +0200	[thread overview]
Message-ID: <CAHp75Vcd4t=RqC31S-b1PXMtd=8sypSLhTrSgRD9hbpSqOphoQ@mail.gmail.com> (raw)
In-Reply-To: <20201127130834.136348-2-alexandru.ardelean@analog.com>

On Fri, Nov 27, 2020 at 3:08 PM Alexandru Ardelean
<alexandru.ardelean@analog.com> wrote:
> Transmit/receive only is a valid SPI mode. For example, the MOSI/TX line
> might be missing from an ADC while for a DAC the MISO/RX line may be
> optional. This patch adds these two new modes: SPI_NO_TX and
> SPI_NO_RX. This way, the drivers will be able to identify if any of
> these two lines is missing and to adjust the transfers accordingly.

...

> +       /*
> +        * check mode to prevent that any two of DUAL, QUAD and NO_MOSI/MISO
> +        * are set at the same time
>          */

Since you are here,
 check -> Check
 time -> time.

...

> +       if ((hweight_long(spi->mode &
> +               (SPI_TX_DUAL | SPI_TX_QUAD | SPI_NO_TX)) > 1) ||
> +           (hweight_long(spi->mode &
> +               (SPI_RX_DUAL | SPI_RX_QUAD | SPI_NO_RX)) > 1)) {
>                 dev_err(&spi->dev,
> -               "setup: can not select dual and quad at the same time\n");
> +               "setup: can not select any two of dual, quad and no-rx/tx "
> +               "at the same time\n");

Don't split literals, and probably rephrase (If I can't set 2, can I set 3?)
   "setup: can't select more than one out of dual, quad, and no-Rx /
no-Tx at the same time\n");

> --- a/include/uapi/linux/spi/spi.h
> +++ b/include/uapi/linux/spi/spi.h
> @@ -43,5 +43,7 @@
>  #define        SPI_TX_OCTAL            0x2000          /* transmit with 8 wires */
>  #define        SPI_RX_OCTAL            0x4000          /* receive with 8 wires */
>  #define        SPI_3WIRE_HIZ           0x8000          /* high impedance turnaround */
> +#define        SPI_NO_TX               0x10000         /* no transmit wire */
> +#define        SPI_NO_RX               0x20000         /* no receive wire */

Is it really material for uAPI?
Perhaps we may have something like
SPI_MODE_USER_MASK in uAPI and
in internal headers

SPI_MODE_KERNEL_MASK with
static_assert(_USER_MASK & _KERNEL_MASK); // check conditional

?

-- 
With Best Regards,
Andy Shevchenko

  reply	other threads:[~2020-11-27 14:22 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-27 13:08 [PATCH v3 1/3] spi: uapi: unify SPI modes into a single spi.h header Alexandru Ardelean
2020-11-27 13:08 ` [PATCH v3 2/3] spi: Add SPI_NO_TX/RX support Alexandru Ardelean
2020-11-27 14:22   ` Andy Shevchenko [this message]
2020-11-27 14:23     ` Andy Shevchenko
2020-12-03  8:20       ` Ardelean, Alexandru
2020-12-03  9:47         ` Mark Brown
2020-11-27 13:08 ` [PATCH v3 3/3] spi: dt-bindings: document zero value for spi-{rx,tx}-bus-width properties Alexandru Ardelean
2020-11-27 14:26   ` Andy Shevchenko
2020-12-03 13:35     ` Ardelean, Alexandru
2020-11-27 14:12 ` [PATCH v3 1/3] spi: uapi: unify SPI modes into a single spi.h header Andy Shevchenko
2020-12-03  8:15   ` Ardelean, Alexandru

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAHp75Vcd4t=RqC31S-b1PXMtd=8sypSLhTrSgRD9hbpSqOphoQ@mail.gmail.com' \
    --to=andy.shevchenko@gmail.com \
    --cc=alexandru.ardelean@analog.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dragos.bogdan@analog.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.