Dear Prafulla Wadaskar, In message <1248804270-13715-2-git-send-email-prafu...@marvell.com> you wrote: > This is first step towards cleaning mkimage code for kwbimage > support in clean way. Current mkimage code is very specific to > uimge generation whereas the same framework can be used to > generate other image types like kwbimage. > For this, the architecture of mkimage code need to modified. > > Here is the brief plan for the same:- > a) Abstract image specific code to saperate file (this patch) > b) Move image header code from mkimage.c to respective > image specific code > c) Implement callback function for image specific functions > d) Add kwbimage type support to this framework > > In this patch- > 1. Image specific code abstracted from mkimage.c to > default_image.c/h to make mkimage code more generic > 2. struct mkimage_params introduced to pass basic mkimage > specific flags and variables to image specific functions > > Signed-off-by: Prafulla Wadaskar <prafu...@marvell.com> > --- > tools/Makefile | 4 + > tools/default_image.c | 227 ++++++++++++++++++++++++++++++ > tools/default_image.h | 36 +++++ > tools/mkimage.c | 368 > ++++++++++++++----------------------------------- > tools/mkimage.h | 25 ++++ > 5 files changed, 394 insertions(+), 266 deletions(-) > create mode 100644 tools/default_image.c > create mode 100644 tools/default_image.h
Just nitpicking... > diff --git a/tools/Makefile b/tools/Makefile > index b5a1e39..6ef15d9 100644 > --- a/tools/Makefile > +++ b/tools/Makefile > @@ -171,6 +171,7 @@ $(obj)img2srec$(SFX): $(obj)img2srec.o > $(STRIP) $@ > > $(obj)mkimage$(SFX): $(obj)mkimage.o $(obj)crc32.o $(obj)image.o $(obj)md5.o > \ > + $(obj)default_image.o \ > $(obj)sha1.o $(LIBFDT_OBJS) $(obj)os_support.o Please let's sort the files... > $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^ > $(STRIP) $@ > @@ -203,6 +204,9 @@ $(obj)bin2header$(SFX): $(obj)bin2header.o > $(obj)image.o: $(SRCTREE)/common/image.c > $(CC) -g $(FIT_CFLAGS) -c -o $@ $< > > +$(obj)default_image.o: $(SRCTREE)/tools/default_image.c > + $(CC) -g $(FIT_CFLAGS) -c -o $@ $< > + Please sort here, too. > diff --git a/tools/mkimage.c b/tools/mkimage.c > index b7b383a..66d6c8e 100644 > --- a/tools/mkimage.c > +++ b/tools/mkimage.c > @@ -24,28 +24,30 @@ ... > +struct mkimage_params params = { ... > + .opt_os = IH_OS_LINUX, > + .opt_arch = IH_ARCH_PPC, > + .opt_type = IH_TYPE_KERNEL, > + .opt_comp = IH_COMP_GZIP, > + .opt_dtc = MKIMAGE_DEFAULT_DTC_OPTIONS, ... > + .imagename = "", > + .datafile = "", > + .imagefile = "", > + .cmdname = "", I see no reason to initialize these strings. Please omit. > +}; ... > case 'A': > if ((--argc <= 0) || > - (opt_arch = genimg_get_arch_id (*++argv)) < > 0) > + (params.opt_arch = > + genimg_get_arch_id (*++argv)) < 0) > usage (); > goto NXTARG; > case 'C': > if ((--argc <= 0) || > - (opt_comp = genimg_get_comp_id (*++argv)) < > 0) > + (params.opt_comp = > + genimg_get_comp_id (*++argv)) < 0) The new code looks really ugly here and in all the following case:s; This is mostly caused by the fact that the new code is much longer "params.opt_XXX" versus "opt_XXX"). With the new code all the options are in the params structure anyway, so ther eis no danger to confuse these withother variables, so we should omit the "opt_" part, I think. This gives: struct mkimage_params params = { ... .os = IH_OS_LINUX, .arch = IH_ARCH_PPC, .type = IH_TYPE_KERNEL, .comp = IH_COMP_GZIP, .dtc = MKIMAGE_DEFAULT_DTC_OPTIONS, ... }; ... case 'A': if ((--argc <= 0) || (params.arch = genimg_get_arch_id(*++argv)) < 0) { usage (); } goto NXTARG; case 'C': if ((--argc <= 0) || (params.comp = genimg_get_comp_id(*++argv)) < 0) { usage (); } goto NXTARG; ... etc. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Extended Epstein-Heisenberg Principle: In an R & D orbit, only 2 of the existing 3 parameters can be defined simultaneously. The parame- ters are: task, time and resources ($). _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot