RE: [PATCH] [RFC] drm: rcar-du: keep temporary dtb files around during build

From: Frank.Rowand
Date: Thu Mar 15 2018 - 21:39:55 EST


On Thursday, March 15, 2018 8:37 AM, Arnd Bergmann [mailto:arnd@xxxxxxxx] wrote:
>
> The *.dtb and *.dtb.S files get removed by 'make' during the build
> process,
> and later seem to be missed during the 'modpost' stage:
>
> rm drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7795.dtb
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7791.dtb
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7791.dtb.S
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7795.dtb.S
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7790.dtb.S
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7793.dtb
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7796.dtb
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7790.dtb
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7796.dtb.S
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7793.dtb.S
> WARNING: could not open
> drivers/gpu/drm/rcar-du/rcar_du_of_lvds_r8a7790.dtb.S: No such file or
> directory
>
> As a workaround, this adds all those files to the 'extra-y' target list,
> but that's really ugly. Any ideas for a better fix?

Does this work for you (untested, but the way it is done in
drivers/of/unittest-data/Makefile):

.PRECIOUS: \
$(obj)/%.dtb.S \
$(obj)/%.dtb


-Frank


>
> Fixes: 81c0e3dd8292 ("drm: rcar-du: Fix legacy DT to create LVDS encoder
> nodes")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/gpu/drm/rcar-du/Makefile | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/gpu/drm/rcar-du/Makefile
> b/drivers/gpu/drm/rcar-du/Makefile
> index 3e58ed93d5b1..e5fc6ec0b8cc 100644
> --- a/drivers/gpu/drm/rcar-du/Makefile
> +++ b/drivers/gpu/drm/rcar-du/Makefile
> @@ -12,6 +12,21 @@ rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += rcar_du_of.o \
> rcar_du_of_lvds_r8a7793.dtb.o
> \
> rcar_du_of_lvds_r8a7795.dtb.o
> \
> rcar_du_of_lvds_r8a7796.dtb.o
> +
> +extra-y +=
> rcar_du_of_lvds_r8a7790.dtb \
> + rcar_du_of_lvds_r8a7790.dtb \
> + rcar_du_of_lvds_r8a7791.dtb \
> + rcar_du_of_lvds_r8a7793.dtb \
> + rcar_du_of_lvds_r8a7795.dtb \
> + rcar_du_of_lvds_r8a7796.dtb
> +
> +extra-y +=
> rcar_du_of_lvds_r8a7790.dtb.S \
> + rcar_du_of_lvds_r8a7790.dtb.S
> \
> + rcar_du_of_lvds_r8a7791.dtb.S
> \
> + rcar_du_of_lvds_r8a7793.dtb.S
> \
> + rcar_du_of_lvds_r8a7795.dtb.S
> \
> + rcar_du_of_lvds_r8a7796.dtb.S
> +
> rcar-du-drm-$(CONFIG_DRM_RCAR_VSP) += rcar_du_vsp.o
>
> obj-$(CONFIG_DRM_RCAR_DU) += rcar-du-drm.o
> --
> 2.9.0