From: Petre Rodan <petre.rodan@subdimension.ro>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, Andreas Klinger <ak@it-klinger.de>,
Jonathan Cameron <jic23@kernel.org>,
Lars-Peter Clausen <lars@metafoo.de>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>
Subject: Re: [PATCH v2 02/10] dt-bindings: iio: pressure: honeywell,mprls0025pa.yaml add pressure-triplet
Date: Mon, 25 Dec 2023 15:58:44 +0200 [thread overview]
Message-ID: <ZYmKlJRrhonht4Zx@sunspire> (raw)
In-Reply-To: <503bc876-59d1-4fcb-b0b5-2dd88c62987c@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 4378 bytes --]
hello,
On Mon, Dec 25, 2023 at 02:34:04PM +0100, Krzysztof Kozlowski wrote:
> On 25/12/2023 14:23, Petre Rodan wrote:
> > honeywell,transfer-function:
> > [..]
> > honeywell,pressure-triplet:
> > [..]
> > honeywell,pmin-pascal:
> > [..]
> > honeywell,pmax-pascal:
> > [..]
> >
> > since the last 3 are tied together as we will see below.
> > is there any reason you want this order to change?
>
> I just don't get why moving the code instead of adding new property next
> to them.
as I also said in the comments and in my last reply I want the user to not feel
in any way obliged to fill in pmin-pascal, pmax-pascal.
and since a user reads this file from top to bottom, the order in which these
properties are shown to him is important, and it is the one above.
> The order is often alphabetical.
can we please make an exception?
> >>> + honeywell,pmin-pascal:
> >>> + description:
> >>> + Minimum pressure value the sensor can measure in pascal.
> >>> + To be specified only if honeywell,pressure-triplet is not set.
> >>
> >> The last sentence is redundant - schema should enforce that.
> >
> > when someone generates the dtbo files via
> >
> > cpp -nostdinc -I include -I ${LINUX_SRC}/include/ -I arch -undef -x assembler-with-cpp ${file}.dts "${BUILD_DIR}/${file}.dts.preprocessed"
> > dtc -@ -I dts -O dtb -o "${BUILD_DIR}/${file}.dtbo" "${BUILD_DIR}/${file}.dts.preprocessed"
>
> And how this command matters? DT overlays are checked, so error is printed.
>
> >
> > the schema is not checked in any way.
>
> When I run `make` the schema is also not checked, so is it an argument
> to add anything to the binding? No. Drop redundant text.
>
> > so unless people can be bothered to understand the yaml intricacies in the
> > bindings file, I feel they need to see that redundant information there, see below.
>
>
>
> >
> >>> +oneOf:
> >>> + - required:
> >>> + - honeywell,pmin-pascal
> >>> + - honeywell,pmax-pascal
> >>> + - required:
> >>> + - honeywell,pressure-triplet
> >>> +
> >>> +allOf:
> >>> + - if:
> >>> + required:
> >>> + - honeywell,pressure-triplet
> >>> + then:
> >>> + properties:
> >>> + honeywell,pmin-pascal: false
> >>> + honeywell,pmax-pascal: false
> >>
> >> This allOf is not needed.
> >
> > speaking for intricacies, if the allOf is removed, then a binding containing
> >
> > honeywell,pmax-pascal = <840000>;
> > honeywell,pressure-triplet = "0015PA";
> >
> > would be considered to be correct by the schema, but that would be the incorrect
> > result. so afaict allOf needs to stay, and so does the redundant text.
>
> Really? Did you test it?
for more hours than I would have liked. the allOf was provided with kindness by
Conor in my first revision.
testing it:
1. invalid yaml with both honeywell,pmax-pascal and honeywell,pressure-triplet
defined passes the schema check if the allOf is removed:
# make DT_SCHEMA_FILES=Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml DT_CHECKER_FLAGS=-m dt_binding_check
# echo $?
0
2. the same invalid yaml but with the allOf not removed issues this output:
[..]/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.example.dtb: pressure@18: honeywell,pmax-pascal: False schema does not allow [[84000]]
from schema $id: http://devicetree.org/schemas/iio/pressure/honeywell,mprls0025pa.yaml#
which is the expected behaviour. so AFAICT the allOf block is required, as well
as the redundant text for the humans that read the human-readable parts of the
bindings file.
invalid yaml example used above:
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
pressure@18 {
compatible = "honeywell,mprls0025pa";
reg = <0x18>;
reset-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&gpio3>;
interrupts = <21 IRQ_TYPE_EDGE_RISING>;
honeywell,pmax-pascal = <84000>;
honeywell,pressure-triplet = "0025PA";
honeywell,transfer-function = <1>;
vdd-supply = <&vcc_3v3>;
};
};
best regards,
peter
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2023-12-25 13:58 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-24 14:34 [PATCH v2 00/10] changes to mprls0025pa Petre Rodan
2023-12-24 14:34 ` [PATCH v2 01/10] dt-bindings: iio: pressure: honeywell,mprls0025pa.yaml fix Petre Rodan
2023-12-25 12:55 ` Krzysztof Kozlowski
2023-12-26 16:28 ` Jonathan Cameron
2023-12-26 16:31 ` Jonathan Cameron
2023-12-27 7:11 ` Petre Rodan
2023-12-30 11:28 ` Jonathan Cameron
2023-12-24 14:34 ` [PATCH v2 02/10] dt-bindings: iio: pressure: honeywell,mprls0025pa.yaml add pressure-triplet Petre Rodan
2023-12-25 12:57 ` Krzysztof Kozlowski
2023-12-25 13:23 ` Petre Rodan
2023-12-25 13:34 ` Krzysztof Kozlowski
2023-12-25 13:37 ` Krzysztof Kozlowski
2023-12-25 13:58 ` Petre Rodan [this message]
2023-12-24 14:34 ` [PATCH v2 03/10] dt-bindings: iio: pressure: honeywell,mprls0025pa.yaml add spi bus Petre Rodan
2023-12-25 12:59 ` Krzysztof Kozlowski
2023-12-25 15:13 ` Petre Rodan
2023-12-25 18:56 ` Krzysztof Kozlowski
2023-12-25 20:29 ` Petre Rodan
2023-12-26 9:38 ` Krzysztof Kozlowski
2023-12-24 14:34 ` [PATCH v2 04/10] iio: pressure: mprls0025pa.c fix off-by-one enum Petre Rodan
2023-12-26 16:33 ` Jonathan Cameron
2023-12-27 16:30 ` Andy Shevchenko
2023-12-24 14:34 ` [PATCH v2 05/10] iio: pressure: mprls0025pa.c fix error flag check Petre Rodan
2023-12-26 16:35 ` Jonathan Cameron
2023-12-24 14:34 ` [PATCH v2 06/10] iio: pressure: mprls0025pa.c remove dangerous defaults Petre Rodan
2023-12-26 16:39 ` Jonathan Cameron
2023-12-24 14:34 ` [PATCH v2 07/10] iio: pressure: mprls0025pa.c whitespace cleanup Petre Rodan
2023-12-27 16:34 ` Andy Shevchenko
2023-12-27 17:39 ` Petre Rodan
2023-12-30 11:33 ` Jonathan Cameron
2024-01-06 14:03 ` Andy Shevchenko
2023-12-24 14:34 ` [PATCH v2 08/10] iio: pressure: mprls0025pa.c refactor Petre Rodan
2023-12-26 16:49 ` Jonathan Cameron
2023-12-27 14:33 ` Petre Rodan
2023-12-27 16:37 ` Andy Shevchenko
2023-12-30 11:34 ` Jonathan Cameron
2023-12-24 14:34 ` [PATCH v2 09/10] iio: pressure: mprls0025pa.c add triplet property Petre Rodan
2023-12-24 14:34 ` [PATCH v2 10/10] iio: pressure: mprls0025pa.c add SPI driver Petre Rodan
2023-12-26 16:51 ` Jonathan Cameron
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=ZYmKlJRrhonht4Zx@sunspire \
--to=petre.rodan@subdimension.ro \
--cc=ak@it-klinger.de \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@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.