Re: [Patch v3 1/3] dt: OF_UNITTEST make dependency broken, framework fixes

From: Rob Herring
Date: Fri Mar 13 2015 - 09:13:32 EST


On Thu, Mar 12, 2015 at 8:15 AM, Frank Rowand <frowand.list@xxxxxxxxx> wrote:
> From: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
>
> 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 you did 2 patches with the move first, wouldn't that make it
bisectable. However, I'd rather avoid the move.

> 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.

Couldn't we change that to be 2 modules.

> 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.

This should all be in an intro email, not patch #1.

Rob

>
> Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
>
> ---
>
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/