linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: i2c: brcm,iproc-i2c: convert to the json-schema
@ 2021-05-12 16:07 Rafał Miłecki
  2021-05-12 18:35 ` [PATCH] dt-bindings: i2c: brcm, iproc-i2c: " Rob Herring
  0 siblings, 1 reply; 5+ messages in thread
From: Rafał Miłecki @ 2021-05-12 16:07 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, linux-i2c,
	devicetree, linux-arm-kernel, Rafał Miłecki

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

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>;
+        };
+    };
-- 
2.26.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] dt-bindings: i2c: brcm, iproc-i2c: convert to the json-schema
  2021-05-12 16:07 [PATCH] dt-bindings: i2c: brcm,iproc-i2c: convert to the json-schema Rafał Miłecki
@ 2021-05-12 18:35 ` Rob Herring
  2021-05-28  9:23   ` [PATCH] dt-bindings: i2c: brcm,iproc-i2c: " Wolfram Sang
  0 siblings, 1 reply; 5+ messages in thread
From: Rob Herring @ 2021-05-12 18:35 UTC (permalink / raw)
  To: Rafał Miłecki
  Cc: devicetree, Ray Jui, Rob Herring, bcm-kernel-feedback-list,
	Florian Fainelli, Rafał Miłecki, linux-i2c,
	linux-arm-kernel, Scott Branden

[-- Attachment #1: Type: text/plain, Size: 1334 bytes --]

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.



[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] dt-bindings: i2c: brcm,iproc-i2c: convert to the json-schema
  2021-05-12 18:35 ` [PATCH] dt-bindings: i2c: brcm, iproc-i2c: " Rob Herring
@ 2021-05-28  9:23   ` Wolfram Sang
  2021-05-28  9:37     ` Rafał Miłecki
  0 siblings, 1 reply; 5+ messages in thread
From: Wolfram Sang @ 2021-05-28  9:23 UTC (permalink / raw)
  To: Rob Herring
  Cc: Rafał Miłecki, devicetree, Ray Jui, Rob Herring,
	bcm-kernel-feedback-list, Florian Fainelli,
	Rafał Miłecki, linux-i2c, linux-arm-kernel,
	Scott Branden


[-- Attachment #1.1: Type: text/plain, Size: 781 bytes --]

Hi Rob,

> 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!

   Wolfram


[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] dt-bindings: i2c: brcm,iproc-i2c: convert to the json-schema
  2021-05-28  9:23   ` [PATCH] dt-bindings: i2c: brcm,iproc-i2c: " Wolfram Sang
@ 2021-05-28  9:37     ` Rafał Miłecki
  2021-05-28  9:57       ` Wolfram Sang
  0 siblings, 1 reply; 5+ messages in thread
From: Rafał Miłecki @ 2021-05-28  9:37 UTC (permalink / raw)
  To: Wolfram Sang, Rob Herring, Rafał Miłecki, devicetree,
	Ray Jui, Rob Herring, bcm-kernel-feedback-list, Florian Fainelli,
	linux-i2c, linux-arm-kernel, Scott Branden

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.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] dt-bindings: i2c: brcm,iproc-i2c: convert to the json-schema
  2021-05-28  9:37     ` Rafał Miłecki
@ 2021-05-28  9:57       ` Wolfram Sang
  0 siblings, 0 replies; 5+ messages in thread
From: Wolfram Sang @ 2021-05-28  9:57 UTC (permalink / raw)
  To: Rafał Miłecki
  Cc: Rob Herring, Rafał Miłecki, devicetree, Ray Jui,
	Rob Herring, bcm-kernel-feedback-list, Florian Fainelli,
	linux-i2c, linux-arm-kernel, Scott Branden


[-- Attachment #1.1: Type: text/plain, Size: 446 bytes --]


> 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.


[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-05-28  9:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-12 16:07 [PATCH] dt-bindings: i2c: brcm,iproc-i2c: convert to the json-schema Rafał Miłecki
2021-05-12 18:35 ` [PATCH] dt-bindings: i2c: brcm, iproc-i2c: " Rob Herring
2021-05-28  9:23   ` [PATCH] dt-bindings: i2c: brcm,iproc-i2c: " Wolfram Sang
2021-05-28  9:37     ` Rafał Miłecki
2021-05-28  9:57       ` Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).