From: "Michal Vokáč" <michal.vokac@ysoft.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Rob Herring <robh+dt@kernel.org>
Cc: "Shawn Guo" <shawnguo@kernel.org>,
"Fabio Estevam" <festevam@gmail.com>,
linux-input@vger.kernel.org, devicetree@vger.kernel.org,
"Michal Vokáč" <michal.vokac@ysoft.com>
Subject: [PATCH v2 2/5] dt-bindings: input: Convert mpr121 binding to json-schema
Date: Tue, 1 Oct 2019 16:29:37 +0200 [thread overview]
Message-ID: <1569940180-11417-3-git-send-email-michal.vokac@ysoft.com> (raw)
In-Reply-To: <1569940180-11417-1-git-send-email-michal.vokac@ysoft.com>
Convert the mpr121 binding to DT schema format using json-schema.
Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
---
Changes since v1:
- Extract the common input properties into the input.yaml schema.
- Fix the wakeup-source description.
- Fix the example to pass validation. Put the mpr121 device sub-node
into a i2c {} node.
Rob, the linux,keycodes property is not valid as it is.
If I put the minItems and maxItems into the common schema, it is valid
and the min/max length check works fine. What could be wrong?
The error is not very specific..
$ make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml
SCHEMA Documentation/devicetree/bindings/processed-schema.yaml
/home/vokac/development/sources/linux-fslc/Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml: ignoring, error in schema 'linux,keycodes'
warning: no schema found in file: /home/vokac/development/sources/linux-fslc/Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml
/home/vokac/development/sources/linux-fslc/Documentation/devicetree/bindings/Makefile:33: recipe for target 'Documentation/devicetree/bindings/processed-schema.yaml' failed
make[3]: *** [Documentation/devicetree/bindings/processed-schema.yaml] Error 255
/home/vokac/development/sources/linux-fslc/Makefile:1264: recipe for target 'dt_binding_check' failed
.../bindings/input/fsl,mpr121-touchkey.yaml | 66 ++++++++++++++++++++++
.../devicetree/bindings/input/mpr121-touchkey.txt | 30 ----------
2 files changed, 66 insertions(+), 30 deletions(-)
create mode 100644 Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml
delete mode 100644 Documentation/devicetree/bindings/input/mpr121-touchkey.txt
diff --git a/Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml b/Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml
new file mode 100644
index 000000000000..c6fbcdf78556
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/fsl,mpr121-touchkey.yaml
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/fsl,mpr121-touchkey.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale MPR121 capacitive touch sensor controller
+
+maintainers:
+ - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+
+description: |
+ The MPR121 supports up to 12 completely independent electrodes/capacitance
+ sensing inputs in which 8 are multifunctional for LED driving and GPIO.
+ https://www.nxp.com/docs/en/data-sheet/MPR121.pdf
+
+allOf:
+ - $ref: input.yaml#
+
+properties:
+ compatible:
+ const: fsl,mpr121-touchkey
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ vdd-supply:
+ maxItems: 1
+
+ linux,keycodes:
+ minItems: 1
+ maxItems: 12
+
+ wakeup-source:
+ description: Use any event on keypad as wakeup event.
+ type: boolean
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - vdd-supply
+ - linux,keycodes
+
+examples:
+ - |
+ #include "dt-bindings/input/input.h"
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mpr121@5a {
+ compatible = "fsl,mpr121-touchkey";
+ reg = <0x5a>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <28 2>;
+ autorepeat;
+ vdd-supply = <&ldo4_reg>;
+ linux,keycodes = <KEY_0>, <KEY_1>, <KEY_2>, <KEY_3>,
+ <KEY_4>, <KEY_5>, <KEY_6>, <KEY_7>,
+ <KEY_8>, <KEY_9>, <KEY_A>, <KEY_B>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/input/mpr121-touchkey.txt b/Documentation/devicetree/bindings/input/mpr121-touchkey.txt
deleted file mode 100644
index b7c61ee5841b..000000000000
--- a/Documentation/devicetree/bindings/input/mpr121-touchkey.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-* Freescale MPR121 Controllor
-
-Required Properties:
-- compatible: Should be "fsl,mpr121-touchkey"
-- reg: The I2C slave address of the device.
-- interrupts: The interrupt number to the cpu.
-- vdd-supply: Phandle to the Vdd power supply.
-- linux,keycodes: Specifies an array of numeric keycode values to
- be used for reporting button presses. The array can
- contain up to 12 entries.
-
-Optional Properties:
-- wakeup-source: Use any event on keypad as wakeup event.
-- autorepeat: Enable autorepeat feature.
-
-Example:
-
-#include "dt-bindings/input/input.h"
-
- touchkey: mpr121@5a {
- compatible = "fsl,mpr121-touchkey";
- reg = <0x5a>;
- interrupt-parent = <&gpio1>;
- interrupts = <28 2>;
- autorepeat;
- vdd-supply = <&ldo4_reg>;
- linux,keycodes = <KEY_0>, <KEY_1>, <KEY_2>, <KEY_3>,
- <KEY_4> <KEY_5>, <KEY_6>, <KEY_7>,
- <KEY_8>, <KEY_9>, <KEY_A>, <KEY_B>;
- };
--
2.1.4
next prev parent reply other threads:[~2019-10-01 14:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-01 14:29 [PATCH v2 0/5] Add polling mode to the MPR121 touchkey Michal Vokáč
2019-10-01 14:29 ` [PATCH v2 1/5] dt-bindings: input: Add common input binding in json-schema Michal Vokáč
2019-10-01 15:03 ` Rob Herring
2019-10-02 6:17 ` Michal Vokáč
2019-10-01 14:29 ` Michal Vokáč [this message]
2019-10-03 19:09 ` [PATCH v2 2/5] dt-bindings: input: Convert mpr121 binding to json-schema Rob Herring
2019-10-04 7:40 ` Michal Vokáč
2019-10-04 13:32 ` Rob Herring
2019-10-04 13:51 ` Michal Vokáč
2019-10-01 14:29 ` [PATCH v2 3/5] dt-bindings: input: Add poll-interval property Michal Vokáč
2019-10-01 14:29 ` [PATCH v2 4/5] Input: mpr121: Add polling mode Michal Vokáč
2019-10-01 14:29 ` [PATCH v2 5/5] ARM: dts: imx6dl-yapp4: Enable the MPR121 touchkey controller on Hydra Michal Vokáč
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=1569940180-11417-3-git-send-email-michal.vokac@ysoft.com \
--to=michal.vokac@ysoft.com \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=festevam@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=shawnguo@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 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).