linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Frank Rowand <frowand.list@gmail.com>
To: Grant Likely <grant.likely@linaro.org>,
	Rob Herring <robh+dt@kernel.org>, Michal Marek <mmarek@suse.cz>,
	Linux Kernel list <linux-kernel@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	linux-kbuild@vger.kernel.org
Subject: [Patch v3 1/3] dt: OF_UNITTEST make dependency broken, framework fixes
Date: Thu, 12 Mar 2015 06:15:57 -0700	[thread overview]
Message-ID: <5501918D.2020000@gmail.com> (raw)

From: Frank Rowand <frank.rowand@sonymobile.com>

This 3 patch series is not bisectable.  If CONFIG_OF_UNITTEST=y then the kernel
will not build with just patch 1 or just patches 1 and 2 applied.

If CONFIG_OF_UNITTEST=y then a kernel image make will always cause .version to
be incremented, even if there are not source changes.  This is caused by
a lack of dependency tracking and checking for
drivers/of/unittest-data/testcases.dtb.o.  Fixing the problem was made more
complicated by the fact that testcases.dtb.o was linked into ../of_unittest.o.

Patch 1 modifies makefiles to move of_unittest.c into unittest-data/ and
creates missing dependency tracking for testcases.dtb.o.

Patch 2 will move of_unittest.c into unittest-data/

Patch 3 will fix an of_unittest.c include path to account for the move.

Signed-off-by: Frank Rowand <frank.rowand@sonymobile.com>

---

changes since version 2:

  patch 1:
  Add .gitignore so that generated files will not get committed.

changes since version 1:

  patch 1:
  Remove some changes to scripts/Makefile.lib that are not needed.  They
  were left over from attempts to fix the problem without moving of_unitest.c
  into unittest-data/.


 drivers/of/Makefile                 |    4 ++--
 drivers/of/unittest-data/.gitignore |    2 ++
 drivers/of/unittest-data/Makefile   |    9 +++++++++
 3 files changed, 13 insertions(+), 2 deletions(-)

Index: b/drivers/of/Makefile
===================================================================
--- a/drivers/of/Makefile
+++ b/drivers/of/Makefile
@@ -6,8 +6,6 @@ obj-$(CONFIG_OF_PROMTREE) += pdt.o
 obj-$(CONFIG_OF_ADDRESS)  += address.o
 obj-$(CONFIG_OF_IRQ)    += irq.o
 obj-$(CONFIG_OF_NET)	+= of_net.o
-obj-$(CONFIG_OF_UNITTEST) += of_unittest.o
-of_unittest-objs := unittest.o unittest-data/testcases.dtb.o
 obj-$(CONFIG_OF_MDIO)	+= of_mdio.o
 obj-$(CONFIG_OF_PCI)	+= of_pci.o
 obj-$(CONFIG_OF_PCI_IRQ)  += of_pci_irq.o
@@ -16,5 +14,7 @@ obj-$(CONFIG_OF_RESERVED_MEM) += of_rese
 obj-$(CONFIG_OF_RESOLVE)  += resolver.o
 obj-$(CONFIG_OF_OVERLAY) += overlay.o
 
+obj-$(CONFIG_OF_UNITTEST) += unittest-data/
+
 CFLAGS_fdt.o = -I$(src)/../../scripts/dtc/libfdt
 CFLAGS_fdt_address.o = -I$(src)/../../scripts/dtc/libfdt
Index: b/drivers/of/unittest-data/Makefile
===================================================================
--- /dev/null
+++ b/drivers/of/unittest-data/Makefile
@@ -0,0 +1,9 @@
+
+obj-$(CONFIG_OF_UNITTEST) += of_unittest.o
+of_unittest-objs := unittest.o testcases.dtb.o
+
+targets += testcases.dtb testcases.dtb.S
+
+.SECONDARY: \
+	$(obj)/testcases.dtb.S \
+	$(obj)/testcases.dtb
Index: b/drivers/of/unittest-data/.gitignore
===================================================================
--- /dev/null
+++ b/drivers/of/unittest-data/.gitignore
@@ -0,0 +1,2 @@
+testcases.dtb
+testcases.dtb.S

             reply	other threads:[~2015-03-12 13:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-12 13:15 Frank Rowand [this message]
2015-03-12 13:17 ` [Patch v3 2/3] dt: OF_UNITTEST make dependency broken, move unittest.c Frank Rowand
2015-03-12 13:18 ` [Patch v3 3/3] dt: OF_UNITTEST make dependency broken, fix unittest.c after move Frank Rowand
2015-03-13 13:13 ` [Patch v3 1/3] dt: OF_UNITTEST make dependency broken, framework fixes Rob Herring
2015-03-13 19:18   ` 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=5501918D.2020000@gmail.com \
    --to=frowand.list@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@linaro.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mmarek@suse.cz \
    --cc=robh+dt@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).