Message ID | 20210512160750.15183-1-zajec5@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | dt-bindings: i2c: brcm,iproc-i2c: convert to the json-schema | expand |
On Wed, 12 May 2021 18:07:50 +0200, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > This helps validating DTS files. > > Introduced changes: > 1. Added arm-gic.h include > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > --- > .../bindings/i2c/brcm,iproc-i2c.txt | 46 ------------ > .../bindings/i2c/brcm,iproc-i2c.yaml | 71 +++++++++++++++++++ > 2 files changed, 71 insertions(+), 46 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.txt > create mode 100644 Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.example.dt.yaml:0:0: /example-0/i2c@18008000/wm8750@1a: failed to match any schema with compatible: ['wlf,wm8750'] See https://patchwork.ozlabs.org/patch/1477696 This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
On 28.05.2021 11:23, Wolfram Sang wrote: >> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' >> on your patch (DT_CHECKER_FLAGS is new in v5.13): >> >> yamllint warnings/errors: >> >> dtschema/dtc warnings/errors: >> Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.example.dt.yaml:0:0: /example-0/i2c@18008000/wm8750@1a: failed to match any schema with compatible: ['wlf,wm8750'] > > A generic question: > > So sound/wm8750.txt was not converted yet. However, if this conversion > is fine otherwise, I'd vote to apply it nonetheless because it is one > conversion less to do then. Alternatively, we could change the example > to include a simple EEPROM which has an already converted binding doc. > > What is the procedure here? > > All the best and thanks for your work! Let me try to answer this based on the discussion in the: [PATCH V3 robh dt/next] dt-bindings: mfd: add Broadcom CRU https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20210519184041.563-1-zajec5@gmail.com/ Rob has stated he doesn't want maintainers to apply bindings that introduce documentation warnings/errors: https://patchwork.ozlabs.org/comment/2687693/ Lee Jones as MFD maintainer says it's wrong: https://patchwork.ozlabs.org/comment/2687847/ I've already got wm8750 YAML binding queued for the 5.14, see linux-next: ASoC: wm8750: convert to the json-schema https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=11480dbfe1d59eaa6382864acc476e7621b1da4c Personally I think it's a bit too paranoid to reject such a patch if we have a proof that its dependency is already part of the linux-next. If you agree with Rob however I'll just resubmit this very same patch once Rob updates his tree to the 5.14-rc1 (once it's released). I still think it just makes the whole process take unnecessarily long.
> I've already got wm8750 YAML binding queued for the 5.14, see linux-next: > ASoC: wm8750: convert to the json-schema > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=11480dbfe1d59eaa6382864acc476e7621b1da4c My take is that we can surely accept this binding if there is no build failure in -next. However, I usually wait for Rob's ack because I don't know YAML well enough to review patches from other people.
diff --git a/Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.txt b/Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.txt deleted file mode 100644 index d12cc33cca6c..000000000000 --- a/Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.txt +++ /dev/null @@ -1,46 +0,0 @@ -Broadcom iProc I2C controller - -Required properties: - -- compatible: - Must be "brcm,iproc-i2c" or "brcm,iproc-nic-i2c" - -- reg: - Define the base and range of the I/O address space that contain the iProc - I2C controller registers - -- clock-frequency: - This is the I2C bus clock. Need to be either 100000 or 400000 - -- #address-cells: - Always 1 (for I2C addresses) - -- #size-cells: - Always 0 - -Optional properties: - -- interrupts: - Should contain the I2C interrupt. For certain revisions of the I2C - controller, I2C interrupt is unwired to the interrupt controller. In such - case, this property should be left unspecified, and driver will fall back - to polling mode - -- brcm,ape-hsls-addr-mask: - Required for "brcm,iproc-nic-i2c". Host view of address mask into the - 'APE' co-processor. Value must be unsigned, 32-bit - -Example: - i2c0: i2c@18008000 { - compatible = "brcm,iproc-i2c"; - reg = <0x18008000 0x100>; - #address-cells = <1>; - #size-cells = <0>; - interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>; - clock-frequency = <100000>; - - codec: wm8750@1a { - compatible = "wlf,wm8750"; - reg = <0x1a>; - }; - }; diff --git a/Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.yaml b/Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.yaml new file mode 100644 index 000000000000..2aa75b7add7b --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.yaml @@ -0,0 +1,71 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/brcm,iproc-i2c.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom iProc I2C controller + +maintainers: + - Rafał Miłecki <rafal@milecki.pl> + +properties: + compatible: + enum: + - brcm,iproc-i2c + - brcm,iproc-nic-i2c + + reg: + maxItems: 1 + + clock-frequency: + enum: [ 100000, 400000 ] + + interrupts: + description: | + Should contain the I2C interrupt. For certain revisions of the I2C + controller, I2C interrupt is unwired to the interrupt controller. In such + case, this property should be left unspecified, and driver will fall back + to polling mode + maxItems: 1 + + brcm,ape-hsls-addr-mask: + $ref: /schemas/types.yaml#/definitions/uint32 + description: Host view of address mask into the 'APE' co-processor + +allOf: + - $ref: /schemas/i2c/i2c-controller.yaml# + - if: + properties: + compatible: + contains: + const: brcm,iproc-nic-i2c + then: + required: + - brcm,ape-hsls-addr-mask + +unevaluatedProperties: false + +required: + - reg + - clock-frequency + - '#address-cells' + - '#size-cells' + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + + i2c@18008000 { + compatible = "brcm,iproc-i2c"; + reg = <0x18008000 0x100>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>; + clock-frequency = <100000>; + + wm8750@1a { + compatible = "wlf,wm8750"; + reg = <0x1a>; + }; + };