All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: David Lechner <dlechner@baylibre.com>
Cc: "Jonathan Cameron" <jic23@kernel.org>,
	"Antoniu Miclaus" <antoniu.miclaus@analog.com>,
	"Lars-Peter Clausen" <lars@metafoo.de>,
	"Michael Hennerich" <Michael.Hennerich@analog.com>,
	"Nuno Sá" <nuno.sa@analog.com>,
	"Andy Shevchenko" <andy@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Olivier Moysan" <olivier.moysan@foss.st.com>,
	"Mark Brown" <broonie@kernel.org>,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org
Subject: Re: [PATCH v2 0/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC
Date: Sun, 15 Feb 2026 10:03:26 +0200	[thread overview]
Message-ID: <aZF9zoWHL9iHSK3q@smile.fi.intel.com> (raw)
In-Reply-To: <897bd4d4-bbdf-4cbf-84f6-05c110d75d03@baylibre.com>

On Sat, Feb 14, 2026 at 12:31:12PM -0600, David Lechner wrote:
> On 2/14/26 12:11 PM, Andy Shevchenko wrote:
> > On Sat, Feb 14, 2026 at 04:08:52PM +0000, Jonathan Cameron wrote:
> >> On Sun, 8 Feb 2026 14:50:23 +0200
> >> Andy Shevchenko <andriy.shevchenko@intel.com> wrote:
> >>> On Fri, Feb 06, 2026 at 06:07:12PM +0200, Antoniu Miclaus wrote:

...

> >>> I believe there is a better approach, what you need is rather a flag
> >>> to SPI core to tell that this is the device with shared CS.
> >>
> >> Antoniu, this comment from Andy needs addressing before we move
> >> on. It seems fairly fundamental and I'm not seeing a reply to it on list.
> >>
> >> I'm not entirely sure what Andy is suggesting will work but this
> >> is perhaps a mismatch in really understanding what is going on here.
> >> Andy, how would a flag work given they seem to be separately addressable
> >> SPI buses. I think this isn't a shared SPI CS, but rather a device
> >> with two entirely separate SPI buses. I think the only reason
> >> we are bothering to implement it as a single device at all is the
> >> shared backend.
> > 
> > My understanding that there are two devices that for whatever reason share
> 
> It is the opposite. It is a _single_ device with _two_ CS lines.

Don't we have already support for that? This changes the picture even more towards
NAKing this. See below why.

> adc@0 {
> 	reg = <0>, <1>;
> 	...
> };
> 
> > the same CS line. Yes, I probably misread the idea behind, but I meant
> > some flag for SPI device that tells SPI core that the CS it wants is shared
> > (maybe a high bit in the cs field or so), then CS core won't complain on
> > validation about using the same cs number which is "already in use".
> 
> There was one existing user in the kernel of spi_new_ancillary_device()
> that looked like this, so it seemed the right way to approach it. However,
> code was added later that caused the primary SPI device to "claim" both
> CS lines for itself and probably broke the one existing user of
> spi_new_ancillary_device() (hard to tell without hardware to test).
> 
> The idea here was to unbreak that so we could use spi_new_ancillary_device()
> just as in the existing use case.
> 
> The patch for that could have been a bit more strict to only allow the
> spi_new_ancillary_device() to take CS 1 and fail otherwise, but users
> are going to notice if it isn't working right anyway, so I didn't ask
> for more checking.

> >> There is an argument that maybe we should be looking at how
> >> to do data muxing backends to support the more general case of two
> >> separate chips feeding into a single buffer, but that's a complex
> >> beast and I'm not sure if it is something we actually need.
> 
> I think it would actually be quite similar to what is done in this
> series.

TBH, the change sounds to me like a hack. It doesn't cover other potential ways
of the multi-cs devices come into play. Given that SPI core supports multi-cs
I don't see a good justification for this patch.

What did I miss?

> > Yeah, if possible I prefer to look at the (ASCII art) schematics
> > on how the HW looks like (connections with busses and CS lines).

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2026-02-15  8:03 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-06 16:07 [PATCH v2 0/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC Antoniu Miclaus
2026-02-06 16:07 ` [PATCH v2 1/4] spi: allow ancillary devices to share parent's chip selects Antoniu Miclaus
2026-02-07 18:09   ` David Lechner
2026-02-06 16:07 ` [PATCH v2 2/4] iio: backend: add devm_iio_backend_get_by_index() Antoniu Miclaus
2026-02-07 14:57   ` Jonathan Cameron
2026-02-07 18:13   ` David Lechner
2026-02-08  9:24   ` Nuno Sá
2026-02-09 15:28     ` David Lechner
2026-02-09 16:47       ` Nuno Sá
2026-02-09 17:48         ` Nuno Sá
2026-02-09 18:20         ` David Lechner
2026-02-06 16:07 ` [PATCH v2 3/4] dt-bindings: iio: adc: ad4080: add AD4880 support Antoniu Miclaus
2026-02-07 10:41   ` Krzysztof Kozlowski
2026-02-08  9:16     ` Nuno Sá
2026-02-08  9:20       ` Krzysztof Kozlowski
2026-02-09 16:43         ` Nuno Sá
2026-02-09 17:13           ` Krzysztof Kozlowski
2026-02-09 17:45             ` Nuno Sá
2026-02-06 16:07 ` [PATCH v2 4/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC Antoniu Miclaus
2026-02-07 15:04   ` Jonathan Cameron
2026-02-07 18:29   ` David Lechner
2026-02-08  9:26   ` Nuno Sá
2026-02-08 12:50 ` [PATCH v2 0/4] " Andy Shevchenko
2026-02-14 16:08   ` Jonathan Cameron
2026-02-14 18:11     ` Andy Shevchenko
2026-02-14 18:31       ` David Lechner
2026-02-15  8:03         ` Andy Shevchenko [this message]
2026-02-15 23:16           ` David Lechner
2026-02-16  7:14             ` Andy Shevchenko
2026-02-16 18:53               ` David Lechner
2026-02-17  8:28                 ` Andy Shevchenko
2026-02-17 22:55                   ` David Lechner
2026-02-18 19:08                     ` Jonathan Cameron
2026-02-20 10:45                       ` Andy Shevchenko
2026-02-25 19:07 ` (subset) " Mark Brown

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=aZF9zoWHL9iHSK3q@smile.fi.intel.com \
    --to=andriy.shevchenko@intel.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=andy@kernel.org \
    --cc=antoniu.miclaus@analog.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=jic23@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=nuno.sa@analog.com \
    --cc=olivier.moysan@foss.st.com \
    --cc=robh@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.