[PATCH] kbuild: Optionally enable schema checks for %.dtb targets

Rob Herring posted 1 patch 2 years, 9 months ago
Makefile | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH] kbuild: Optionally enable schema checks for %.dtb targets
Posted by Rob Herring 2 years, 9 months ago
While not documented, schema checks for single dtb targets mostly work
already by setting 'CHECK_DTBS=1'. However, the dependencies are not
handled and it only works if 'make dt_bindings_check' was run first and
generated processed-schema.json. In addition, changing a binding file
doesn't cause the schema to be rebuilt and dtb to be revalidated.

Making this work turns out to be simple. Whenever CHECK_DTBS is set,
make 'dt_binding_check' a 'dtbs_prepare' dependency.

I reimplemented here what Masahiro had originally come up with a while
back.

Cc: Marek Vasut <marex@denx.de>
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 6aa709df6bde..a99d5c4de0fc 100644
--- a/Makefile
+++ b/Makefile
@@ -1467,7 +1467,10 @@ dtbs_prepare: include/config/kernel.release scripts_dtc
 
 ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
 export CHECK_DTBS=y
-dtbs: dt_binding_check
+endif
+
+ifneq ($(CHECK_DTBS),)
+dtbs_prepare: dt_binding_check
 endif
 
 dtbs_check: dtbs
-- 
2.35.1
Re: [PATCH] kbuild: Optionally enable schema checks for %.dtb targets
Posted by Masahiro Yamada 2 years, 9 months ago
On Tue, Dec 20, 2022 at 10:32 AM Rob Herring <robh@kernel.org> wrote:
>
> While not documented, schema checks for single dtb targets mostly work
> already by setting 'CHECK_DTBS=1'. However, the dependencies are not
> handled and it only works if 'make dt_bindings_check' was run first and
> generated processed-schema.json. In addition, changing a binding file
> doesn't cause the schema to be rebuilt and dtb to be revalidated.
>
> Making this work turns out to be simple. Whenever CHECK_DTBS is set,
> make 'dt_binding_check' a 'dtbs_prepare' dependency.
>
> I reimplemented here what Masahiro had originally come up with a while
> back.


Oh, I just recalled this patch.

https://lore.kernel.org/all/CAA8EJprdCftvie3UF9QpCWr9oQ5SQbqW8OPOHg0qigf9=RXU-w@mail.gmail.com/T/#m2ce6b1de3c74333645831399c0d1775129d7661a

Dritry tested it.

Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>




>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  Makefile | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 6aa709df6bde..a99d5c4de0fc 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1467,7 +1467,10 @@ dtbs_prepare: include/config/kernel.release scripts_dtc
>
>  ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
>  export CHECK_DTBS=y
> -dtbs: dt_binding_check
> +endif
> +
> +ifneq ($(CHECK_DTBS),)
> +dtbs_prepare: dt_binding_check
>  endif
>
>  dtbs_check: dtbs
> --
> 2.35.1
>


--
Best Regards
Masahiro Yamada
Re: [PATCH] kbuild: Optionally enable schema checks for %.dtb targets
Posted by Marek Vasut 2 years, 9 months ago
On 12/20/22 02:32, Rob Herring wrote:
> While not documented, schema checks for single dtb targets mostly work
> already by setting 'CHECK_DTBS=1'. However, the dependencies are not
> handled and it only works if 'make dt_bindings_check' was run first and
> generated processed-schema.json. In addition, changing a binding file
> doesn't cause the schema to be rebuilt and dtb to be revalidated.
> 
> Making this work turns out to be simple. Whenever CHECK_DTBS is set,
> make 'dt_binding_check' a 'dtbs_prepare' dependency.
> 
> I reimplemented here what Masahiro had originally come up with a while
> back.
> 
> Cc: Marek Vasut <marex@denx.de>
> Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>   Makefile | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index 6aa709df6bde..a99d5c4de0fc 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1467,7 +1467,10 @@ dtbs_prepare: include/config/kernel.release scripts_dtc
>   
>   ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
>   export CHECK_DTBS=y
> -dtbs: dt_binding_check
> +endif
> +
> +ifneq ($(CHECK_DTBS),)
> +dtbs_prepare: dt_binding_check
>   endif
>   
>   dtbs_check: dtbs

Tested-by: Marek Vasut <marex@denx.de>

Thank you!