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