Re: [PATCH v2 1/2] dt-bindings: iio: pressure: add honeywell,hsc030

From: Petre Rodan
Date: Mon Nov 20 2023 - 13:25:16 EST



Hello!

On Mon, Nov 20, 2023 at 05:39:29PM +0000, Jonathan Cameron wrote:
> On Mon, 20 Nov 2023 16:40:51 +0200
> Petre Rodan <petre.rodan@xxxxxxxxxxxxxxx> wrote:
>
> > Hello!
> >
> > On Mon, Nov 20, 2023 at 03:04:07PM +0100, Krzysztof Kozlowski wrote:
> > > On 20/11/2023 14:42, Petre Rodan wrote:
> > >
> > > >>> +properties:
> > > >>> + compatible:
> > > >>> + enum:
> > > >>> + - honeywell,hsc
> > > >>
> > > >> Way too generic
> > > >
> > > > I'm new to this, please excuse my ignorance.
> > > > my driver covers all Honeywell pressure sensors under the "TruStability board mount HSC/SSC" moniker.
> > >
> > > We talk here about bindings, not driver. For the driver you can use
> > > whatever name is approved by reviewers of your driver.
> > >
> > > > that is why my intention was to provide a rather generic name for the driver itself.
> > > > are you afraid that they will come up with a different device that they will call "hsc" in the future?
> > > > in this case honeywell,trustability-hsc would be fine?
> > > >
> > > > as I see you prefer to target a particular chip, but I am a bit afraid that the end-user will be confused by needing to set up something like
> > > >
> > > > pressure@28 {
> > > > compatible = "honeywell,hsc030pa";
> > >
> > > The compatible should be specific, thus for example match exact model
> > > number.
> >
> > there are an infinite number of combinations of 4 transfer functions and 118 ranges + one custom range, so providing an array with all specific chips that could end up as compatible is out of the question.
> > I was aiming at providing a generic name for the binding and get the transfer function and the pressure range as required parameters.
> >
> > > If you can guarantee that all devices from given family are the same in
> > > respect of programming model and hardware requirements (e.g. supplies),
> > > then you could go with family name. However such guarantees are rarely
> > > given.
> >
> > I see your point.
> >
> > > Therefore for mprls0025pa I agreed for using one specific model
> > > for entire family.
> > >
> > > https://lore.kernel.org/all/d577bc44-780f-f25d-29c6-ed1d353b540c@xxxxxxxxxx/
> > >
> > >
> > > > reg = <0x28>;
> > > > honeywell,transfer-function = <0>;
> > > > honeywell,pressure-range = "250MD";
> > > > };
> > > >
> > > > ie. specifying "hsc030pa" as driver while his chip is not in the 030PA range, but 250MD.
> > > >
> > > > so do you prefer
> > > > honeywell,trustability-hsc OR
> > > > honeywell,hsc030pa
> > >
> > > I think the latter, just like we did for mprls0025pa. How many devices
> > > do you have there?
> >
> > both hsc and ssc have 118 ranges, 4 transfer functions and both can be requested from the manufacturer with custom measurement ranges.
> >
> > ok,I will rename hsc->hsc030pa in the code as you requested.
>
> Where does pa come from?

honeywell,hsc030pa was provided as an equivalent to honeywell,mprls0025pa (which is already in the repo).

'030PA' and '0025PA' define the pressure range (0-30, 0-25), the unit of measure (Psi) and the measurement type (Absolute) for a particular chip in the honeywell catalog. (please ignore the psi part, we convert everything to pascals).
but both my driver and Andreas Klinger's mprls0025pa actually provide a generic abstraction layer for entire series of sensors.

> If we are going generic, feels like trustability-ssc etc are more representative
> and matches the datasheet cover page.

Krzysztof voted for non-generic, honeywell,mprls0025pa is already set up non-generic, my intent was to go generic.

I'll rewrite the code to whatever you guys feel is best.

peter


--
petre rodan