On Thu, Nov 14, 2019 at 9:21 AM Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx> wrote: > > On 11/13/2019 2:05 PM, Rob Herring wrote: > > Schema errors can cause make to exit before useful information is > > printed. This leaves developers wondering what's wrong. It can be > > overcome passing '-k' to make, but that's not an obvious solution. > > There's 2 scenarios where this happens. > > > > When using DT_SCHEMA_FILES to validate with a single schema, any error > > in the schema results in processed-schema.yaml being empty causing a > > make error. The result is the specific errors in the schema are never > > shown because processed-schema.yaml is the first target built. Simply > > making processed-schema.yaml last in extra-y ensures the full schema > > validation with detailed error messages happen first. > > > > The 2nd problem is while schema errors are ignored for > > processed-schema.yaml, full validation of the schema still runs in > > parallel and any schema validation errors will still stop the build when > > running validation of dts files. The fix is to not add the schema > > examples to extra-y in this case. This means 'dtbs_check' is no longer a > > superset of 'dt_binding_check'. Update the documentation to make this > > clear. > > > > Cc: Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx> > > Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > > I injected a syntax error into a random binding file, and compared the > output with and without this patch. This patch makes a massive > improvement in giving the user the necessary information to identify and > fix issues. Thanks! BTW, update dtschema and you'll get better (or more at least) messages when 'is not valid under any of the given schemas' errors occur. > Tested-by: Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx> Thanks. Rob