Skip to contentSkip to conversation

dt: OF_UNITTEST make dependency broken

PATCH Applied Frank Rowand 3 participants 3 messages Mar 13, 2015 – Mar 28, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dt: OF_UNITTEST make dependency broken

From: Frank Rowand <[email protected]>

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.

---

 drivers/of/Makefile                 |    5 +++--
 drivers/of/unittest-data/.gitignore |    2 ++
 drivers/of/unittest-data/Makefile   |    7 +++++++
 3 files changed, 12 insertions(+), 2 deletions(-)
drivers/of/Makefile +3 -2
Index: b/drivers/of/Makefile
===================================================================
@@ -6,8 +6,7 @@ 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_UNITTEST) += unittest.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 +15,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
drivers/of/unittest-data/Makefile new file +7 -0
Index: b/drivers/of/unittest-data/Makefile
===================================================================
@@ -0,0 +1,7 @@
+obj-y += testcases.dtb.o
+
+targets += testcases.dtb testcases.dtb.S
+
+.SECONDARY: \
+	$(obj)/testcases.dtb.S \
+	$(obj)/testcases.dtb
drivers/of/unittest-data/.gitignore new file +2 -0
Index: b/drivers/of/unittest-data/.gitignore
===================================================================
@@ -0,0 +1,2 @@
+testcases.dtb
+testcases.dtb.S
Applied
#1 lore raw
Quoted 9 lines · Frank Rowand

From: Frank Rowand <frank.rowand-/[email protected]>

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.

Applied. Thanks.

Rob

Quoted 48 lines

---

 drivers/of/Makefile                 |    5 +++--
 drivers/of/unittest-data/.gitignore |    2 ++
 drivers/of/unittest-data/Makefile   |    7 +++++++
 3 files changed, 12 insertions(+), 2 deletions(-)

Index: b/drivers/of/Makefile
===================================================================

drivers/of/Makefile +3 -2
@@ -6,8 +6,7 @@ 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_UNITTEST) += unittest.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 +15,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
===================================================================

drivers/of/unittest-data/Makefile new file +7 -0
@@ -0,0 +1,7 @@
+obj-y += testcases.dtb.o
+
+targets += testcases.dtb testcases.dtb.S
+
+.SECONDARY: \
+       $(obj)/testcases.dtb.S \
+       $(obj)/testcases.dtb

Index: b/drivers/of/unittest-data/.gitignore
===================================================================

drivers/of/unittest-data/.gitignore line 2

Quoted 2 lines
drivers/of/unittest-data/.gitignore new file +2 -0
@@ -0,0 +1,2 @@
+testcases.dtb
+testcases.dtb.S

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw
In reply to Frank Rowand
Quoted 9 lines · Frank Rowand

From: Frank Rowand <[email protected]>

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.

Brilliant! Thanks for solving this.

g.

Quoted 50 lines

---

 drivers/of/Makefile                 |    5 +++--
 drivers/of/unittest-data/.gitignore |    2 ++
 drivers/of/unittest-data/Makefile   |    7 +++++++
 3 files changed, 12 insertions(+), 2 deletions(-)

Index: b/drivers/of/Makefile
===================================================================

drivers/of/Makefile +3 -2
@@ -6,8 +6,7 @@ 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_UNITTEST) += unittest.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 +15,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
===================================================================

drivers/of/unittest-data/Makefile new file +7 -0
@@ -0,0 +1,7 @@
+obj-y += testcases.dtb.o
+
+targets += testcases.dtb testcases.dtb.S
+
+.SECONDARY: \
+	$(obj)/testcases.dtb.S \
+	$(obj)/testcases.dtb

Index: b/drivers/of/unittest-data/.gitignore
===================================================================

drivers/of/unittest-data/.gitignore new file +2 -0
@@ -0,0 +1,2 @@
+testcases.dtb
+testcases.dtb.S