All of lore.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
	Frank Rowand <frowand.list@gmail.com>,
	Rob Herring <robh+dt@kernel.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-kbuild@vger.kernel.org,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Bill Mills <bill.mills@linaro.org>,
	anmar.oueja@linaro.org, Masahiro Yamada <masahiroy@kernel.org>
Subject: [PATCH] of: unittest: Statically apply overlays using fdtoverlay
Date: Fri,  8 Jan 2021 14:11:20 +0530	[thread overview]
Message-ID: <1e42183ccafa1afba33b3e79a4e3efd3329fd133.1610095159.git.viresh.kumar@linaro.org> (raw)
In-Reply-To: <be5cb12a68d9ac2c35ad9dd50d6b168f7cad6837.1609996381.git.viresh.kumar@linaro.org>

Now that fdtoverlay is part of the kernel build, start using it to test
the unitest overlays we have by applying them statically.

The file overlay_base.dtb have symbols of its own and we need to apply
overlay.dtb to overlay_base.dtb alone first to make it work, which gives
us intermediate-overlay.dtb file.

The intermediate-overlay.dtb file along with all other overlays is them
applied to testcases.dtb to generate the master.dtb file.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

---
Depends on:

https://lore.kernel.org/lkml/be5cb12a68d9ac2c35ad9dd50d6b168f7cad6837.1609996381.git.viresh.kumar@linaro.org/

I have kept the .dtb naming for overlays for now, lets see how we do it
eventually.

Rob/Frank, this doesn't work properly right now. Maybe I missed how
these overlays must be applied or there is a bug in fdtoverlay.

The master.dtb doesn't include any nodes from overlay_base.dtb or
overlay.dtb probably because 'testcase-data-2' node isn't present in
testcases.dtb and fdtoverlay doesn't allow applying new nodes to the
root node, i.e. allows new sub-nodes once it gets phandle to the parent
but nothing can be added to the root node itself. Though I get a feel
that it works while applying the nodes dynamically and it is expected to
work here as well.

(And yeah, this is my first serious attempt at updating Makefiles, I am
sure there is a scope of improvement here :))

---
 drivers/of/unittest-data/Makefile | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile
index 009f4045c8e4..f17bce85f65f 100644
--- a/drivers/of/unittest-data/Makefile
+++ b/drivers/of/unittest-data/Makefile
@@ -38,3 +38,26 @@ DTC_FLAGS_testcases += -@
 
 # suppress warnings about intentional errors
 DTC_FLAGS_testcases += -Wno-interrupts_property
+
+# Apply overlays statically with fdtoverlay
+intermediate-overlay	:= overlay.dtb
+master			:= overlay_0.dtb overlay_1.dtb overlay_2.dtb \
+			   overlay_3.dtb overlay_4.dtb overlay_5.dtb \
+			   overlay_6.dtb overlay_7.dtb overlay_8.dtb \
+			   overlay_9.dtb overlay_10.dtb overlay_11.dtb \
+			   overlay_12.dtb overlay_13.dtb overlay_15.dtb \
+			   overlay_gpio_01.dtb overlay_gpio_02a.dtb \
+			   overlay_gpio_02b.dtb overlay_gpio_03.dtb \
+			   overlay_gpio_04a.dtb overlay_gpio_04b.dtb \
+			   intermediate-overlay.dtb
+
+quiet_cmd_fdtoverlay = fdtoverlay $@
+      cmd_fdtoverlay = $(objtree)/scripts/dtc/fdtoverlay -o $@ -i $^
+
+$(obj)/intermediate-overlay.dtb: $(obj)/overlay_base.dtb $(addprefix $(obj)/,$(intermediate-overlay))
+	$(call if_changed,fdtoverlay)
+
+$(obj)/master.dtb: $(obj)/testcases.dtb $(addprefix $(obj)/,$(master))
+	$(call if_changed,fdtoverlay)
+
+always-$(CONFIG_OF_OVERLAY) += intermediate-overlay.dtb master.dtb
-- 
2.25.0.rc1.19.g042ed3e048af


  parent reply	other threads:[~2021-01-08  8:42 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-07  5:15 [PATCH V2 1/2] scripts: dtc: Add fdtoverlay.c and fdtdump.c to DTC_SOURCE Viresh Kumar
2021-01-07  5:15 ` [PATCH V2 2/2] scripts: dtc: Build fdtoverlay and fdtdump tools Viresh Kumar
2021-01-07  5:45   ` Masahiro Yamada
2021-01-07  6:25     ` [PATCH V3 " Viresh Kumar
2021-01-12  0:44       ` Frank Rowand
2021-01-12  5:08         ` Viresh Kumar
2021-01-12 18:34           ` Frank Rowand
2021-01-13  4:55             ` Viresh Kumar
2021-01-12  0:55       ` Frank Rowand
2021-01-12  4:48         ` Viresh Kumar
2021-01-19 16:28   ` [PATCH V2 " Frank Rowand
2021-01-19 16:34     ` Frank Rowand
2021-01-08  8:41 ` Viresh Kumar [this message]
2021-01-11 15:46   ` [PATCH] of: unittest: Statically apply overlays using fdtoverlay Rob Herring
2021-01-11 22:09     ` Frank Rowand
2021-01-14  5:03     ` Viresh Kumar
2021-01-14 15:01       ` Rob Herring
2021-01-15  5:44         ` Viresh Kumar
2021-01-18  3:54           ` Frank Rowand
2021-01-19  2:30             ` Frank Rowand
2021-01-18  6:30           ` David Gibson
2021-01-19  2:29             ` Frank Rowand
2021-01-11 22:06   ` Frank Rowand
2021-01-12  1:22     ` Bill Mills
2021-01-12  8:37       ` Viresh Kumar
2021-01-12 10:16         ` Bill Mills
2021-01-12 18:17           ` Frank Rowand
2021-01-12 14:04     ` Rob Herring
2021-01-12 19:06       ` Frank Rowand
2021-01-12 19:41         ` Rob Herring
2021-01-12 20:05           ` Frank Rowand
2021-01-12 20:46             ` Rob Herring
2021-01-13  2:20               ` Frank Rowand
2021-01-13 15:05                 ` Rob Herring
2021-01-13 17:21                   ` Frank Rowand
2021-01-14  5:00   ` Viresh Kumar
2021-01-19  2:25     ` Frank Rowand
2021-01-19  2:21   ` frowand.list
2021-01-19  8:05     ` Viresh Kumar
2021-01-19 15:44       ` Frank Rowand
2021-01-20  5:06         ` Viresh Kumar
2021-01-20  6:20           ` Viresh Kumar
2021-01-21  5:00           ` Frank Rowand
2021-01-21  5:09             ` Viresh Kumar
2021-01-21  6:41             ` David Gibson
2021-01-11 22:13 ` [PATCH V2 1/2] scripts: dtc: Add fdtoverlay.c and fdtdump.c to DTC_SOURCE Frank Rowand
2021-01-12  4:45   ` Viresh Kumar
2021-01-19 16:21 ` Frank Rowand
2021-01-19 16:31   ` Frank Rowand

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=1e42183ccafa1afba33b3e79a4e3efd3329fd133.1610095159.git.viresh.kumar@linaro.org \
    --to=viresh.kumar@linaro.org \
    --cc=anmar.oueja@linaro.org \
    --cc=bill.mills@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=pantelis.antoniou@konsulko.com \
    --cc=robh+dt@kernel.org \
    --cc=vincent.guittot@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.