[U-Boot] [PATCH V3] Fix FIT and fdt blob support to have CONFIG_OF_LIBFDT and CONFIG_FIT independant

FDT support is used for both FIT style images and architectures (ppc, m68k, sparc) that can pass a fdt blob to an OS..
For other arch and board which do not pass a fdt blob to an OS but want to use the new uImage format, we just need FIT support (ex : ARM).
Now we can have the 4 following configurations :
1) FIT only CONFIG_FIT 2) fdt blob only CONFIG_OF_LIBFDT 3) both CONFIG_OF_LIBFDT & CONFIG_FIT 4) none none
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com --- actually not clean integration have been found to avoid defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) by replacing it with the 2 news macro.
removing arch macro ifdef and use 2 new config for the functionnality to enable so we introduce these : CONFIG_BOOT_INIT_RAMDISK
Define this if you want support for relocating init ramdisk
CONFIG_BOOT_INIT_RAMDISK
Define this if you want support for allocate and initialize kernel information for booting
if someone have a good idea please send a patch
Best Regards, J. common/image.c | 2 ++ include/image.h | 4 ---- libfdt/Makefile | 8 ++++++-- 3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/common/image.c b/common/image.c index 866edf6..daa68bc 100644 --- a/common/image.c +++ b/common/image.c @@ -1071,6 +1071,7 @@ int boot_ramdisk_high (struct lmb *lmb, ulong rd_data, ulong rd_len, error: return -1; } +#endif /* defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) */
#ifdef CONFIG_OF_LIBFDT static void fdt_error (const char *msg) @@ -1575,6 +1576,7 @@ error: } #endif /* CONFIG_OF_LIBFDT */
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) /** * boot_get_cmdline - allocate and initialize kernel cmdline * @lmb: pointer to lmb handle, will be used for memory mgmt diff --git a/include/image.h b/include/image.h index 5433555..4609200 100644 --- a/include/image.h +++ b/include/image.h @@ -50,10 +50,6 @@
#endif /* USE_HOSTCC */
-#if defined(CONFIG_FIT) && !defined(CONFIG_OF_LIBFDT) -#error "CONFIG_OF_LIBFDT not enabled, required by CONFIG_FIT!" -#endif - #include <command.h>
#if defined(CONFIG_FIT) diff --git a/libfdt/Makefile b/libfdt/Makefile index ca2ad76..d6e2830 100644 --- a/libfdt/Makefile +++ b/libfdt/Makefile @@ -27,9 +27,13 @@ LIB = $(obj)libfdt.a
SOBJS =
-COBJS-$(CONFIG_OF_LIBFDT) += fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_sw.o fdt_wip.o +COBJS-libfdt += fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_sw.o fdt_wip.o
-COBJS := $(COBJS-y) +COBJS-$(CONFIG_OF_LIBFDT) += $(COBJS-libfdt) +COBJS-$(CONFIG_FIT) += $(COBJS-libfdt) + + +COBJS := $(sort $(COBJS-y)) SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))

On Nov 24, 2008, at 6:33 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
FDT support is used for both FIT style images and architectures (ppc, m68k, sparc) that can pass a fdt blob to an OS..
For other arch and board which do not pass a fdt blob to an OS but want to use the new uImage format, we just need FIT support (ex : ARM).
Now we can have the 4 following configurations :
- FIT only CONFIG_FIT
- fdt blob only CONFIG_OF_LIBFDT
- both CONFIG_OF_LIBFDT & CONFIG_FIT
- none none
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD
plagnioj@jcrosoft.com
actually not clean integration have been found to avoid defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) by replacing it with the 2 news macro.
removing arch macro ifdef and use 2 new config for the functionnality to enable so we introduce these : CONFIG_BOOT_INIT_RAMDISK
Define this if you want support for relocating init ramdisk
CONFIG_BOOT_INIT_RAMDISK
Define this if you want support for allocate and initialize kernel information for booting
if someone have a good idea please send a patch
Best Regards, J. common/image.c | 2 ++ include/image.h | 4 ---- libfdt/Makefile | 8 ++++++-- 3 files changed, 8 insertions(+), 6 deletions(-)
Tested-by: Kumar Gala galak@kernel.crashing.org
(that is boot tested, not much more than that)
- k

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1227530031-15268-1-git-send-email-plagnioj@jcrosoft.com you wrote:
FDT support is used for both FIT style images and architectures (ppc, m68k, sparc) that can pass a fdt blob to an OS..
For other arch and board which do not pass a fdt blob to an OS but want to use the new uImage format, we just need FIT support (ex : ARM).
Now we can have the 4 following configurations :
- FIT only CONFIG_FIT
- fdt blob only CONFIG_OF_LIBFDT
- both CONFIG_OF_LIBFDT & CONFIG_FIT
- none none
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
actually not clean integration have been found to avoid defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) by replacing it with the 2 news macro.
removing arch macro ifdef and use 2 new config for the functionnality to enable so we introduce these : CONFIG_BOOT_INIT_RAMDISK
Define this if you want support for relocating init ramdisk
CONFIG_BOOT_INIT_RAMDISK
Define this if you want support for allocate and initialize kernel information for booting
if someone have a good idea please send a patch
Best Regards, J. common/image.c | 2 ++ include/image.h | 4 ---- libfdt/Makefile | 8 ++++++-- 3 files changed, 8 insertions(+), 6 deletions(-)
Aplied, thanks.
Best regards,
Wolfgang Denk
participants (3)
-
Jean-Christophe PLAGNIOL-VILLARD
-
Kumar Gala
-
Wolfgang Denk