[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240708165719.000021b9@Huawei.com>
Date: Mon, 8 Jul 2024 16:57:19 +0100
From: Jonathan Cameron <Jonathan.Cameron@...wei.com>
To: Miquel Raynal <miquel.raynal@...tlin.com>
CC: Krzysztof Kozlowski <krzk@...nel.org>, Conor Dooley <conor@...nel.org>,
Thomas Bonnefille <thomas.bonnefille@...tlin.com>, Jonathan Cameron
<jic23@...nel.org>, Lars-Peter Clausen <lars@...afoo.de>, Rob Herring
<robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Chen Wang <unicorn_wang@...look.com>, Inochi Amaoto
<inochiama@...look.com>, Paul Walmsley <paul.walmsley@...ive.com>, "Palmer
Dabbelt" <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>, "Thomas
Petazzoni" <thomas.petazzoni@...tlin.com>, <linux-iio@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-riscv@...ts.infradead.org>
Subject: Re: [PATCH v2 1/3] dt-bindings: iio: adc:
sophgo,cv18xx-saradc.yaml: Add Sophgo SARADC binding documentation
On Mon, 8 Jul 2024 14:23:44 +0200
Miquel Raynal <miquel.raynal@...tlin.com> wrote:
> Hi Krzysztof,
>
> krzk@...nel.org wrote on Mon, 8 Jul 2024 09:33:04 +0200:
>
> > On 08/07/2024 08:30, Miquel Raynal wrote:
> > > Hi Conor,
> > >
> > >>>>> +properties:
> > >>>>> + compatible:
> > >>>>> + oneOf:
> > >>>>> + - items:
> > >>>>> + - enum:
> > >>>>> + - sophgo,cv1800b-saradc
> > >>>>> + - const: sophgo,cv18xx-saradc
> > >>>>
> > >>>> I don't think the fallback here makes sense. If there's other devices
> > >>>> with a compatible programming model added later, we can fall back to the
> > >>>> cv1800b.
> > >
> > > I'm sorry but isn't this slightly disagreeing with the "writing
> > > bindings" doc pointed in v1? It says,
> > >
> > > * DO use fallback compatibles when devices are the same as or a subset
> > > of prior implementations.
> > >
> > > I believe we fall in the "devices are the same" category, so I would
> > > have myself wrote a similar binding here with a compatible matching
> > > them all, plus a hardware-implementation-specific compatible as well;
> > > just in case.
> >
> > Fallback from one model to another. There is no "another" model here,
> > but wildcard. There is no such device as cv18xx, right?
>
> No there is not. But I don't think there is a "base" model either.
> Just multiple SoCs named cv18<something> with apparently the same ADC.
>
> So actually I guess the discussion here is about the wildcard
> compatible. It feels strange to me to have no generic compatible either
> with a wildcard or with a "base" implementation (because there is
> probably none). So I guess the solution here is to just list a single
> specific compatible in the end.
It comes from long experience of silicon vendors not being consistent
with part naming. Far too often we've had a nice generic wild card
entry and along comes the vendor with a new part in the middle
of that range that is completely incompatible. Then we end up with
people assuming the wildcard means it will work and a bunch of bug
reports. Hence no wild cards, just define first supported part as your
'base' and go from there.
It's even more fun when a vendor driver papers over the differences
and so it 'works', but the upstream one doesn't. In extreme case
because a different driver entirely is required.
So basically we don't trust silicon vendors :)
Speaking as someone who works for one - I think that's entirely
reasonable!!
Jonathan
>
> Thanks,
> Miquèl
>
>
Powered by blists - more mailing lists