devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert Hancock <robert.hancock@calian.com>
To: "robh@kernel.org" <robh@kernel.org>
Cc: "robh+dt@kernel.org" <robh+dt@kernel.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"mounika.grace.akula@xilinx.com" <mounika.grace.akula@xilinx.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Thinh.Nguyen@synopsys.com" <Thinh.Nguyen@synopsys.com>,
	"michal.simek@xilinx.com" <michal.simek@xilinx.com>,
	"manish.narani@xilinx.com" <manish.narani@xilinx.com>,
	"balbi@kernel.org" <balbi@kernel.org>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
Subject: Re: [PATCH v3 3/5] dt-bindings: usb: dwc3: add reference clock period fractional adjustment
Date: Wed, 12 Jan 2022 16:53:58 +0000	[thread overview]
Message-ID: <03419935b624427ef8a1ee6b545e236be9cc7941.camel@calian.com> (raw)
In-Reply-To: <1641914089.158670.2944752.nullmailer@robh.at.kernel.org>

On Tue, 2022-01-11 at 09:14 -0600, Rob Herring wrote:
> On Mon, 10 Jan 2022 14:19:34 -0600, Robert Hancock wrote:
> > Document the new snps,ref-clock-fladj property which can be used to set
> > the fractional portion of the reference clock period.
> > 
> > Signed-off-by: Robert Hancock <robert.hancock@calian.com>
> > ---
> >  Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> 
> 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:
> schemas/usb/snps,dwc3.yaml: ignoring, error in schema: properties: snps,ref-
> clock-fladj

I'm assuming this schema file needs to be updated, but I'm not sure where it
lives? I don't see such a file in the devicetree-org/dt-schema repo?

> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/usb/snps,dwc3.yaml:
> properties:snps,ref-clock-fladj: 'oneOf' conditional failed, one must be
> fixed:
> 	'type' is a required property
> 		hint: A vendor boolean property can use "type: boolean"
> 	Additional properties are not allowed ('minimum', 'maximum' were
> unexpected)
> 		hint: A vendor boolean property can use "type: boolean"
> 	/builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/usb/snps,dwc3.yaml:
> properties:snps,ref-clock-fladj: 'oneOf' conditional failed, one must be
> fixed:
> 		'enum' is a required property
> 		'const' is a required property
> 		hint: A vendor string property with exact values has an
> implicit type
> 		from schema $id: 
> https://urldefense.com/v3/__http://devicetree.org/meta-schemas/vendor-props.yaml*__;Iw!!IOGos0k!22HR18vQNpccp4Fe5xDTXtAO4G0fx0WhklLyKtGpjxDp2x3vJVRk7_o5zjwAxz-pCbw$
>  
> 	/builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/usb/snps,dwc3.yaml:
> properties:snps,ref-clock-fladj: 'oneOf' conditional failed, one must be
> fixed:
> 		'$ref' is a required property
> 		'allOf' is a required property
> 		hint: A vendor property needs a $ref to types.yaml
> 		from schema $id: 
> https://urldefense.com/v3/__http://devicetree.org/meta-schemas/vendor-props.yaml*__;Iw!!IOGos0k!22HR18vQNpccp4Fe5xDTXtAO4G0fx0WhklLyKtGpjxDp2x3vJVRk7_o5zjwAxz-pCbw$
>  
> 	hint: Vendor specific properties must have a type and description
> unless they have a defined, common suffix.
> 	from schema $id: 
> https://urldefense.com/v3/__http://devicetree.org/meta-schemas/vendor-props.yaml*__;Iw!!IOGos0k!22HR18vQNpccp4Fe5xDTXtAO4G0fx0WhklLyKtGpjxDp2x3vJVRk7_o5zjwAxz-pCbw$
>  
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/usb/snps,dwc3.yaml: ignoring, error
> in schema: properties: snps,ref-clock-fladj
> make[1]: *** Deleting file
> 'Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml'
> schemas/usb/snps,dwc3.yaml: ignoring, error in schema: properties: snps,ref-
> clock-fladj
> Traceback (most recent call last):
>   File "/usr/local/bin/dt-validate", line 170, in <module>
>     sg.check_trees(filename, testtree)
>   File "/usr/local/bin/dt-validate", line 119, in check_trees
>     self.check_subtree(dt, subtree, False, "/", "/", filename)
>   File "/usr/local/bin/dt-validate", line 110, in check_subtree
>     self.check_subtree(tree, value, disabled, name, fullname + name,
> filename)
>   File "/usr/local/bin/dt-validate", line 110, in check_subtree
>     self.check_subtree(tree, value, disabled, name, fullname + name,
> filename)
>   File "/usr/local/bin/dt-validate", line 110, in check_subtree
>     self.check_subtree(tree, value, disabled, name, fullname + name,
> filename)
>   File "/usr/local/bin/dt-validate", line 105, in check_subtree
>     self.check_node(tree, subtree, disabled, nodename, fullname, filename)
>   File "/usr/local/bin/dt-validate", line 49, in check_node
>     errors = sorted(dtschema.DTValidator(schema).iter_errors(node),
> key=lambda e: e.linecol)
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 768, in
> iter_errors
>     for error in super().iter_errors(instance, _schema):
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 226, in iter_errors
>     for error in errors:
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/_validators.py",
> line 25, in patternProperties
>     yield from validator.descend(
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 242, in descend
>     for error in self.evolve(schema=schema).iter_errors(instance):
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 768, in
> iter_errors
>     for error in super().iter_errors(instance, _schema):
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 226, in iter_errors
>     for error in errors:
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/_validators.py",
> line 298, in ref
>     yield from validator.descend(instance, resolved)
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 242, in descend
>     for error in self.evolve(schema=schema).iter_errors(instance):
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 768, in
> iter_errors
>     for error in super().iter_errors(instance, _schema):
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 216, in iter_errors
>     scope = id_of(_schema)
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 93, in _id_of
>     return schema.get("$id", "")
> AttributeError: 'NoneType' object has no attribute 'get'
> make[1]: *** [scripts/Makefile.lib:373:
> Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml] Error 1
> make[1]: *** Waiting for unfinished jobs....
> make[1]: *** Deleting file 'Documentation/devicetree/bindings/usb/fsl,imx8mp-
> dwc3.example.dt.yaml'
> schemas/usb/snps,dwc3.yaml: ignoring, error in schema: properties: snps,ref-
> clock-fladj
> Traceback (most recent call last):
>   File "/usr/local/bin/dt-validate", line 170, in <module>
>     sg.check_trees(filename, testtree)
>   File "/usr/local/bin/dt-validate", line 119, in check_trees
>     self.check_subtree(dt, subtree, False, "/", "/", filename)
>   File "/usr/local/bin/dt-validate", line 110, in check_subtree
>     self.check_subtree(tree, value, disabled, name, fullname + name,
> filename)
>   File "/usr/local/bin/dt-validate", line 110, in check_subtree
>     self.check_subtree(tree, value, disabled, name, fullname + name,
> filename)
>   File "/usr/local/bin/dt-validate", line 105, in check_subtree
>     self.check_node(tree, subtree, disabled, nodename, fullname, filename)
>   File "/usr/local/bin/dt-validate", line 49, in check_node
>     errors = sorted(dtschema.DTValidator(schema).iter_errors(node),
> key=lambda e: e.linecol)
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 768, in
> iter_errors
>     for error in super().iter_errors(instance, _schema):
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 226, in iter_errors
>     for error in errors:
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/_validators.py",
> line 25, in patternProperties
>     yield from validator.descend(
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 242, in descend
>     for error in self.evolve(schema=schema).iter_errors(instance):
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 768, in
> iter_errors
>     for error in super().iter_errors(instance, _schema):
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 226, in iter_errors
>     for error in errors:
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/_validators.py",
> line 298, in ref
>     yield from validator.descend(instance, resolved)
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 242, in descend
>     for error in self.evolve(schema=schema).iter_errors(instance):
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 768, in
> iter_errors
>     for error in super().iter_errors(instance, _schema):
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 216, in iter_errors
>     scope = id_of(_schema)
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 93, in _id_of
>     return schema.get("$id", "")
> AttributeError: 'NoneType' object has no attribute 'get'
> make[1]: *** [scripts/Makefile.lib:373:
> Documentation/devicetree/bindings/usb/fsl,imx8mp-dwc3.example.dt.yaml] Error
> 1
> make[1]: *** Deleting file
> 'Documentation/devicetree/bindings/usb/intel,keembay-dwc3.example.dt.yaml'
> schemas/usb/snps,dwc3.yaml: ignoring, error in schema: properties: snps,ref-
> clock-fladj
> Traceback (most recent call last):
>   File "/usr/local/bin/dt-validate", line 170, in <module>
>     sg.check_trees(filename, testtree)
>   File "/usr/local/bin/dt-validate", line 119, in check_trees
>     self.check_subtree(dt, subtree, False, "/", "/", filename)
>   File "/usr/local/bin/dt-validate", line 110, in check_subtree
>     self.check_subtree(tree, value, disabled, name, fullname + name,
> filename)
>   File "/usr/local/bin/dt-validate", line 110, in check_subtree
>     self.check_subtree(tree, value, disabled, name, fullname + name,
> filename)
>   File "/usr/local/bin/dt-validate", line 105, in check_subtree
>     self.check_node(tree, subtree, disabled, nodename, fullname, filename)
>   File "/usr/local/bin/dt-validate", line 49, in check_node
>     errors = sorted(dtschema.DTValidator(schema).iter_errors(node),
> key=lambda e: e.linecol)
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 768, in
> iter_errors
>     for error in super().iter_errors(instance, _schema):
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 226, in iter_errors
>     for error in errors:
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/_validators.py",
> line 25, in patternProperties
>     yield from validator.descend(
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 242, in descend
>     for error in self.evolve(schema=schema).iter_errors(instance):
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 768, in
> iter_errors
>     for error in super().iter_errors(instance, _schema):
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 226, in iter_errors
>     for error in errors:
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/_validators.py",
> line 298, in ref
>     yield from validator.descend(instance, resolved)
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 242, in descend
>     for error in self.evolve(schema=schema).iter_errors(instance):
>   File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 768, in
> iter_errors
>     for error in super().iter_errors(instance, _schema):
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 216, in iter_errors
>     scope = id_of(_schema)
>   File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py",
> line 93, in _id_of
>     return schema.get("$id", "")
> AttributeError: 'NoneType' object has no attribute 'get'
> make[1]: *** [scripts/Makefile.lib:373:
> Documentation/devicetree/bindings/usb/intel,keembay-dwc3.example.dt.yaml]
> Error 1
> make: *** [Makefile:1413: dt_binding_check] Error 2
> 
> doc reference errors (make refcheckdocs):
> 
> See 
> https://urldefense.com/v3/__https://patchwork.ozlabs.org/patch/1578106__;!!IOGos0k!22HR18vQNpccp4Fe5xDTXtAO4G0fx0WhklLyKtGpjxDp2x3vJVRk7_o5zjwAw07olIs$
>  
> 
> 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.
> 

  reply	other threads:[~2022-01-12 17:04 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-10 20:19 [PATCH v3 0/5] Xilinx ZynqMP USB fixes Robert Hancock
2022-01-10 20:19 ` [PATCH v3 1/5] usb: dwc3: xilinx: Fix PIPE clock selection for USB2.0 mode Robert Hancock
2022-01-10 20:19 ` [PATCH v3 2/5] usb: dwc3: xilinx: Fix error handling when getting USB3 PHY Robert Hancock
2022-01-10 20:19 ` [PATCH v3 3/5] dt-bindings: usb: dwc3: add reference clock period fractional adjustment Robert Hancock
2022-01-11 15:14   ` Rob Herring
2022-01-12 16:53     ` Robert Hancock [this message]
2022-01-12 19:46       ` Rob Herring
2022-01-13 17:58         ` Robert Hancock
2022-01-14  2:18           ` Rob Herring
2022-01-14  4:30             ` Robert Hancock
2022-01-10 20:19 ` [PATCH v3 4/5] usb: dwc3: add reference clock FLADJ configuration Robert Hancock
2022-01-10 20:19 ` [PATCH v3 5/5] arm64: dts: zynqmp: Add DWC3 USB reference clock period configuration Robert Hancock

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=03419935b624427ef8a1ee6b545e236be9cc7941.camel@calian.com \
    --to=robert.hancock@calian.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=balbi@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=manish.narani@xilinx.com \
    --cc=michal.simek@xilinx.com \
    --cc=mounika.grace.akula@xilinx.com \
    --cc=robh+dt@kernel.org \
    --cc=robh@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).