Re: [PATCH] dt-bindings: input: atmel_mxt_ts: convert atmel,maxtouch.txt to yaml

From: Dafna Hirschfeld
Date: Fri Mar 20 2020 - 11:21:55 EST




On 11.03.20 16:48, Rob Herring wrote:
On Wed, Mar 11, 2020 at 10:23 AM Dafna Hirschfeld
<dafna.hirschfeld@xxxxxxxxxxxxx> wrote:

Hi,
Thanks for the review

On 10.03.20 22:14, Rob Herring wrote:
On Tue, Mar 03, 2020 at 07:25:33PM +0200, Dafna Hirschfeld wrote:
Convert the binding file atmel,maxtouch.txt to yaml format.
Also change the file name in the MAINTAINERS file.

This was tested and verified on ARM and ARM64 with:

make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/input/atmel,maxtouch.yaml
make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/input/atmel,maxtouch.yaml

Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@xxxxxxxxxxxxx>
---
.../bindings/input/atmel,maxtouch.txt | 41 ------------
.../bindings/input/atmel,maxtouch.yaml | 64 +++++++++++++++++++
MAINTAINERS | 2 +-
3 files changed, 65 insertions(+), 42 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/input/atmel,maxtouch.txt
create mode 100644 Documentation/devicetree/bindings/input/atmel,maxtouch.yaml

diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
deleted file mode 100644
index c88919480d37..000000000000
--- a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-Atmel maXTouch touchscreen/touchpad
-
-Required properties:
-- compatible:
- atmel,maxtouch
-
- The following compatibles have been used in various products but are
- deprecated:
- atmel,qt602240_ts
- atmel,atmel_mxt_ts
- atmel,atmel_mxt_tp
- atmel,mXT224
-
-- reg: The I2C address of the device
-
-- interrupts: The sink for the touchpad's IRQ output
- See ../interrupt-controller/interrupts.txt
-
-Optional properties for main touchpad device:
-
-- linux,gpio-keymap: When enabled, the SPT_GPIOPWN_T19 object sends messages
- on GPIO bit changes. An array of up to 8 entries can be provided
- indicating the Linux keycode mapped to each bit of the status byte,
- starting at the LSB. Linux keycodes are defined in
- <dt-bindings/input/input.h>.
-
- Note: the numbering of the GPIOs and the bit they start at varies between
- maXTouch devices. You must either refer to the documentation, or
- experiment to determine which bit corresponds to which input. Use
- KEY_RESERVED for unused padding values.
-
-- reset-gpios: GPIO specifier for the touchscreen's reset pin (active low)
-
-Example:
-
- touch@4b {
- compatible = "atmel,maxtouch";
- reg = <0x4b>;
- interrupt-parent = <&gpio>;
- interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_LOW>;
- };
diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml
new file mode 100644
index 000000000000..024dc4ded4f3
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/atmel,maxtouch.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel maXTouch touchscreen/touchpad
+
+maintainers:
+ - Nick Dyer <nick@xxxxxxxxxxxxx>
+
+description: |
+ Atmel maXTouch touchscreen/touchpad
+
+properties:
+ compatible:
+ const: atmel,maxtouch
+
+ reg:
+ description: The I2C address of the device
+ maxItems: 1
+
+ interrupts:
+ description: The sink for the touchpad's IRQ output

How many? Needs 'maxItems: 1'>
You can drop the description.

+
+ linux,gpio-keymap:
+ description:
+ When enabled, the SPT_GPIOPWN_T19 object sends messages
+ on GPIO bit changes. An array of up to 8 entries can be provided
+ indicating the Linux keycode mapped to each bit of the status byte,
+ starting at the LSB. Linux keycodes are defined in
+ <dt-bindings/input/input.h>.
+ Note, the numbering of the GPIOs and the bit they start at varies between
+ maXTouch devices. You must either refer to the documentation, or
+ experiment to determine which bit corresponds to which input. Use
+ KEY_RESERVED for unused padding values.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ maxItems: 8
+
+ reset-gpios:
+ description: GPIO specifier for the touchscreen's reset pin (active low)
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: true

That's the default and we generally want this to be 'false'.
but many nodes has more properties not described here so I could not
set it to false.

Like touchscreen-* properties? Then you should reference
touchscreen.yaml. And add 'unevaluatedProperties: false' here. That
doesn't yet do anything, but will when the tools support the lastest
json-schema release.

Hi, no it is other properties, these are the warnings:
arch/arm/boot/dts/s5pv210-goni.dt.yaml: tsp@4a: 'atmel,burst-length', 'atmel,orientation', 'atmel,threshold', 'atmel,x-line', 'atmel,x-size', 'atmel,y-line', 'atmel,y-size', 'vdd-supply' do not match any of the regexes: 'pinctrl-[0-9]+'

arch/arm/boot/dts/omap4-droid4-xt894.dt.yaml: touchscreen@4a: 'interrupt-names', 'wakeup-source' do not match any of the regexes: 'pinctrl-[0-9]+'

arch/arm/boot/dts/exynos5800-peach-pi.dt.yaml: trackpad@4b: 'wakeup-source' does not match any of the regexes: 'pinctrl-[0-9]+'

Dafna


Rob