Message ID | 1569940180-11417-3-git-send-email-michal.vokac@ysoft.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add polling mode to the MPR121 touchkey | expand |
On Tue, Oct 1, 2019 at 9:29 AM Michal Vokáč <michal.vokac@ysoft.com> wrote: > > 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.. That's a side effect of an 'allOf' somewhere in the meta-schema. > $ 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 I'm working on a fix for this. It's a problem in the meta-schema. Rob
On 03. 10. 19 21:09, Rob Herring wrote: > On Tue, Oct 1, 2019 at 9:29 AM Michal Vokáč <michal.vokac@ysoft.com> wrote: >> >> 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.. > > That's a side effect of an 'allOf' somewhere in the meta-schema. > >> $ 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 > > I'm working on a fix for this. It's a problem in the meta-schema. OK, thanks a lot! Michal
On Fri, Oct 4, 2019 at 2:40 AM Michal Vokáč <michal.vokac@ysoft.com> wrote: > > On 03. 10. 19 21:09, Rob Herring wrote: > > On Tue, Oct 1, 2019 at 9:29 AM Michal Vokáč <michal.vokac@ysoft.com> wrote: > >> > >> 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.. > > > > That's a side effect of an 'allOf' somewhere in the meta-schema. > > > >> $ 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 > > > > I'm working on a fix for this. It's a problem in the meta-schema. > > OK, thanks a lot! I've committed an update to the meta-schema. Please update dtschema and it should work for you. Rob
On 04. 10. 19 15:32, Rob Herring wrote: > On Fri, Oct 4, 2019 at 2:40 AM Michal Vokáč <michal.vokac@ysoft.com> wrote: >> >> On 03. 10. 19 21:09, Rob Herring wrote: >>> On Tue, Oct 1, 2019 at 9:29 AM Michal Vokáč <michal.vokac@ysoft.com> wrote: >>>> >>>> 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.. >>> >>> That's a side effect of an 'allOf' somewhere in the meta-schema. >>> >>>> $ 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 >>> >>> I'm working on a fix for this. It's a problem in the meta-schema. >> >> OK, thanks a lot! > > I've committed an update to the meta-schema. Please update dtschema > and it should work for you. Works fine now, thank you! Michal
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>; - };
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