Re: [PATCH 6/6] dt-bindings: hwmon: jedec,jc42: add nxp,se97b

From: Rob Herring
Date: Fri Oct 08 2021 - 14:58:19 EST


On Fri, Sep 24, 2021 at 1:57 AM Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxxxxx> wrote:
>
> On 23/09/2021 23:16, Rob Herring wrote:
> > On Mon, Sep 20, 2021 at 08:21:14PM +0200, Krzysztof Kozlowski wrote:
> >> Document bindings for NXP SE97B, a DDR memory module temperature sensor
> >> with integrated SPD and EEPROM via Atmel's AT24 interface.
> >>
> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
> >> ---
> >> Documentation/devicetree/bindings/hwmon/jedec,jc42.yaml | 9 +++++++++
> >> 1 file changed, 9 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/hwmon/jedec,jc42.yaml b/Documentation/devicetree/bindings/hwmon/jedec,jc42.yaml
> >> index a7bb4e3a1c46..0e49b3901161 100644
> >> --- a/Documentation/devicetree/bindings/hwmon/jedec,jc42.yaml
> >> +++ b/Documentation/devicetree/bindings/hwmon/jedec,jc42.yaml
> >> @@ -10,6 +10,14 @@ maintainers:
> >> - Jean Delvare <jdelvare@xxxxxxxx>
> >> - Guenter Roeck <linux@xxxxxxxxxxxx>
> >>
> >> +select:
> >> + properties:
> >> + compatible:
> >> + const: jedec,jc-42.4-temp
> >> +
> >> + required:
> >> + - compatible
> >> +
> >
> > Is this supposed to be in the last patch? And why is it needed?
>
> Yes, this is here on purpose because of nxp,se97b which is sensor with
> at24-compatible EEPROM.
>
> arch/arm/boot/dts/at91-nattis-2-natte-2.dts:
> 169 temp@18 {
> 170 compatible = "nxp,se97b", "jedec,jc-42.4-temp";
>
> 171 reg = <0x18>;
> 172 smbus-timeout-disable;
> 173 };
> 174
> 175 eeprom@50 {
> 176 compatible = "nxp,se97b", "atmel,24c02";
> 177 reg = <0x50>;
> 178 pagesize = <16>;
>
> Without the select, dtbs_check was complaining about the second node:
>
> eeprom@50: compatible: 'oneOf' conditional failed, one must be fixed:
> ['nxp,se97b', 'atmel,24c02'] is too long
> Additional items are not allowed ('atmel,24c02' was unexpected)
> 'jedec,jc-42.4-temp' was expected
> From schema:
> /home/dev/linux/linux/Documentation/devicetree/bindings/hwmon/jedec,jc42.yaml
>
> eeprom@50: 'pagesize' does not match any of the regexes: 'pinctrl-[0-9]+'
> From schema:
> /home/dev/linux/linux/Documentation/devicetree/bindings/hwmon/jedec,jc42.yaml

If a dt only lists one of the vendor specific compatibles, it is going
to pass as this schema won't be applied with this change. We won't get
an undocumented compatible either because it is documented. I don't
have a better suggestion other than listing everything but
'nxp,se97b'. I don't think it is really worth do that, so:

Reviewed-by: Rob Herring <robh@xxxxxxxxxx>