diff mbox series

[1/5] libfdt: change fdt.h to a wrapper of scripts/dtc/libfdt/*

Message ID 1508247020-28071-2-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit 9e65b01ac57f7be2bbc17c9f4c0ee43fab22221e
Headers show
Series libfdt: Reduce duplicated copies of libfdt | expand

Commit Message

Masahiro Yamada Oct. 17, 2017, 1:30 p.m. UTC
Fortunately, U-Boot did not modify fdt.h locally.

Change it to a wrapper of scripts/dtc/libfdt/fdt.h, which will be
periodically synced with the upstream DTC (or kernel).

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 include/fdt.h    |  2 +-
 lib/libfdt/fdt.h | 67 --------------------------------------------------------
 2 files changed, 1 insertion(+), 68 deletions(-)
 delete mode 100644 lib/libfdt/fdt.h

Comments

Simon Glass Oct. 22, 2017, 2:35 p.m. UTC | #1
Hi Masahiro,

On 17 October 2017 at 15:30, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> Fortunately, U-Boot did not modify fdt.h locally.
>
> Change it to a wrapper of scripts/dtc/libfdt/fdt.h, which will be
> periodically synced with the upstream DTC (or kernel).
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
>  include/fdt.h    |  2 +-
>  lib/libfdt/fdt.h | 67 --------------------------------------------------------
>  2 files changed, 1 insertion(+), 68 deletions(-)
>  delete mode 100644 lib/libfdt/fdt.h

There was a recent change to make this use the file in lib/libfdt.
That makes it easier to sync with upstream dtc.

Can you please explain in a little more detail the motivation for this patch?

Regards,
Simon
Masahiro Yamada Oct. 22, 2017, 3:34 p.m. UTC | #2
Hi Simon,

2017-10-22 23:35 GMT+09:00 Simon Glass <sjg@chromium.org>:
> Hi Masahiro,
>
> On 17 October 2017 at 15:30, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
>> Fortunately, U-Boot did not modify fdt.h locally.
>>
>> Change it to a wrapper of scripts/dtc/libfdt/fdt.h, which will be
>> periodically synced with the upstream DTC (or kernel).
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>> ---
>>
>>  include/fdt.h    |  2 +-
>>  lib/libfdt/fdt.h | 67 --------------------------------------------------------
>>  2 files changed, 1 insertion(+), 68 deletions(-)
>>  delete mode 100644 lib/libfdt/fdt.h
>
> There was a recent change to make this use the file in lib/libfdt.
> That makes it easier to sync with upstream dtc.
>
> Can you please explain in a little more detail the motivation for this patch?
>

lib/libfdt was the central sync point of libfdt,
but the situation changed by the switch to the bundled DTC approach.

Now we have two copies in lib/libfdt and scripts/dtc/libfdt.

See Linux.
scripts/dtc is periodically synced with DTC, including scripts/dtc/libfdt.
lib/fdt* are wrappers to scripts/dtc/libfdt/fdt*
I think this is very successful.

So, I am trying to leave only scripts/dtc/libfdt
and turn others into wrappers of them.
Tom Rini Nov. 17, 2017, 3:43 p.m. UTC | #3
On Tue, Oct 17, 2017 at 10:30:16PM +0900, Masahiro Yamada wrote:

> Fortunately, U-Boot did not modify fdt.h locally.

> 

> Change it to a wrapper of scripts/dtc/libfdt/fdt.h, which will be

> periodically synced with the upstream DTC (or kernel).

> 

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>


Applied to u-boot/master, thanks!

-- 
Tom
diff mbox series

Patch

diff --git a/include/fdt.h b/include/fdt.h
index 7ead62e..caeadbf 100644
--- a/include/fdt.h
+++ b/include/fdt.h
@@ -1 +1 @@ 
-#include <../lib/libfdt/fdt.h>
+#include <../scripts/dtc/libfdt/fdt.h>
diff --git a/lib/libfdt/fdt.h b/lib/libfdt/fdt.h
deleted file mode 100644
index 3134d78..0000000
--- a/lib/libfdt/fdt.h
+++ /dev/null
@@ -1,67 +0,0 @@ 
-#ifndef _FDT_H
-#define _FDT_H
-/*
- * libfdt - Flat Device Tree manipulation
- * Copyright (C) 2006 David Gibson, IBM Corporation.
- * Copyright 2012 Kim Phillips, Freescale Semiconductor.
- *
- * SPDX-License-Identifier:     GPL-2.0+ BSD-2-Clause
- */
-
-#ifndef __ASSEMBLY__
-
-struct fdt_header {
-	fdt32_t magic;			 /* magic word FDT_MAGIC */
-	fdt32_t totalsize;		 /* total size of DT block */
-	fdt32_t off_dt_struct;		 /* offset to structure */
-	fdt32_t off_dt_strings;		 /* offset to strings */
-	fdt32_t off_mem_rsvmap;		 /* offset to memory reserve map */
-	fdt32_t version;		 /* format version */
-	fdt32_t last_comp_version;	 /* last compatible version */
-
-	/* version 2 fields below */
-	fdt32_t boot_cpuid_phys;	 /* Which physical CPU id we're
-					    booting on */
-	/* version 3 fields below */
-	fdt32_t size_dt_strings;	 /* size of the strings block */
-
-	/* version 17 fields below */
-	fdt32_t size_dt_struct;		 /* size of the structure block */
-};
-
-struct fdt_reserve_entry {
-	fdt64_t address;
-	fdt64_t size;
-};
-
-struct fdt_node_header {
-	fdt32_t tag;
-	char name[0];
-};
-
-struct fdt_property {
-	fdt32_t tag;
-	fdt32_t len;
-	fdt32_t nameoff;
-	char data[0];
-};
-
-#endif /* !__ASSEMBLY */
-
-#define FDT_MAGIC	0xd00dfeed	/* 4: version, 4: total size */
-#define FDT_TAGSIZE	sizeof(fdt32_t)
-
-#define FDT_BEGIN_NODE	0x1		/* Start node: full name */
-#define FDT_END_NODE	0x2		/* End node */
-#define FDT_PROP	0x3		/* Property: name off,
-					   size, content */
-#define FDT_NOP		0x4		/* nop */
-#define FDT_END		0x9
-
-#define FDT_V1_SIZE	(7*sizeof(fdt32_t))
-#define FDT_V2_SIZE	(FDT_V1_SIZE + sizeof(fdt32_t))
-#define FDT_V3_SIZE	(FDT_V2_SIZE + sizeof(fdt32_t))
-#define FDT_V16_SIZE	FDT_V3_SIZE
-#define FDT_V17_SIZE	(FDT_V16_SIZE + sizeof(fdt32_t))
-
-#endif /* _FDT_H */