public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] mkimage: add option for adding dtc binary path via argument
@ 2013-05-05 19:09 Luka Perkov
  2013-05-06  4:32 ` Wolfgang Denk
  0 siblings, 1 reply; 7+ messages in thread
From: Luka Perkov @ 2013-05-05 19:09 UTC (permalink / raw)
  To: u-boot

Add option for configuring path to dtc binary in mkimage command. The
dtc binary might not always be located in $PATH.

Signed-off-by: Luka Perkov <luka@openwrt.org>
---
 doc/mkimage.1     |  4 ++++
 tools/fit_image.c |  3 ++-
 tools/mkimage.c   | 14 +++++++++++---
 tools/mkimage.h   |  5 +++--
 4 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/doc/mkimage.1 b/doc/mkimage.1
index 39652c8..8cf5686 100644
--- a/doc/mkimage.1
+++ b/doc/mkimage.1
@@ -82,6 +82,10 @@ Set XIP (execute in place) flag.
 .B Create FIT image:
 
 .TP
+.BI "\-B [" "dtc bin" "]"
+Set path to the device tree compiler binary.
+
+.TP
 .BI "\-D [" "dtc options" "]"
 Provide special options to the device tree compiler that is used to
 create the image.
diff --git a/tools/fit_image.c b/tools/fit_image.c
index 76bbba1..cd4db58 100644
--- a/tools/fit_image.c
+++ b/tools/fit_image.c
@@ -82,7 +82,8 @@ static int fit_handle_file (struct mkimage_params *params)
 
 	/* dtc -I dts -O dtb -p 500 datafile > tmpfile */
 	sprintf (cmd, "%s %s %s > %s",
-		MKIMAGE_DTC, params->dtc, params->datafile, tmpfile);
+		params->dtc_bin, params->dtc_options, params->datafile,
+		tmpfile);
 	debug ("Trying to execute \"%s\"\n", cmd);
 	if (system (cmd) == -1) {
 		fprintf (stderr, "%s: system(%s) failed: %s\n",
diff --git a/tools/mkimage.c b/tools/mkimage.c
index e43b09f..ac4ced7 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -37,7 +37,8 @@ struct mkimage_params params = {
 	.arch = IH_ARCH_PPC,
 	.type = IH_TYPE_KERNEL,
 	.comp = IH_COMP_GZIP,
-	.dtc = MKIMAGE_DEFAULT_DTC_OPTIONS,
+	.dtc_bin = MKIMAGE_DTC,
+	.dtc_options = MKIMAGE_DEFAULT_DTC_OPTIONS,
 	.imagename = "",
 	.imagename2 = "",
 };
@@ -189,10 +190,15 @@ main (int argc, char **argv)
 					genimg_get_comp_id (*++argv)) < 0)
 					usage ();
 				goto NXTARG;
+			case 'B':
+				if (--argc <= 0)
+					usage ();
+				params.dtc_bin = *++argv;
+				goto NXTARG;
 			case 'D':
 				if (--argc <= 0)
 					usage ();
-				params.dtc = *++argv;
+				params.dtc_options = *++argv;
 				goto NXTARG;
 
 			case 'O':
@@ -623,7 +629,9 @@ usage ()
 			 "          -d ==> use image data from 'datafile'\n"
 			 "          -x ==> set XIP (execute in place)\n",
 		params.cmdname);
-	fprintf (stderr, "       %s [-D dtc_options] -f fit-image.its fit-image\n",
+	fprintf (stderr, "       %s [-B dtc_bin] [-D dtc_options] -f fit-image.its fit-image\n",
+			 "           -B ==> set path to the dtc binary\n",
+			 "           -D ==> set options that will be passed to dtc\n",
 		params.cmdname);
 	fprintf (stderr, "       %s -V ==> print version information and exit\n",
 		params.cmdname);
diff --git a/tools/mkimage.h b/tools/mkimage.h
index ea45f5c..1c3b1e1 100644
--- a/tools/mkimage.h
+++ b/tools/mkimage.h
@@ -46,7 +46,7 @@
 #define MKIMAGE_MAX_TMPFILE_LEN		256
 #define MKIMAGE_DEFAULT_DTC_OPTIONS	"-I dts -O dtb -p 500"
 #define MKIMAGE_MAX_DTC_CMDLINE_LEN	512
-#define MKIMAGE_DTC			"dtc"   /* assume dtc is in $PATH */
+#define MKIMAGE_DTC			"dtc"
 
 /*
  * This structure defines all such variables those are initialized by
@@ -65,7 +65,8 @@ struct mkimage_params {
 	int arch;
 	int type;
 	int comp;
-	char *dtc;
+	char *dtc_bin;
+	char *dtc_options;
 	unsigned int addr;
 	unsigned int ep;
 	char *imagename;

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] mkimage: add option for adding dtc binary path via argument
  2013-05-05 19:09 [U-Boot] [PATCH] mkimage: add option for adding dtc binary path via argument Luka Perkov
@ 2013-05-06  4:32 ` Wolfgang Denk
  2013-05-06  8:01   ` Luka Perkov
  0 siblings, 1 reply; 7+ messages in thread
From: Wolfgang Denk @ 2013-05-06  4:32 UTC (permalink / raw)
  To: u-boot

Dear Luka Perkov,

In message <20130505190930-21234@mutt-kz> you wrote:
> Add option for configuring path to dtc binary in mkimage command. The
> dtc binary might not always be located in $PATH.

Could you please explain why that would be needed?  What prevents you
adding the respective directory to your PATH?

Even if you do not want to do this ingeneral for some reason, running

PATH=your_dir:$PATH mkimage ...

appears to be still much less trouble (no need to change the code)
than your approach.

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: wd at denx.de
God runs electromagnetics by wave theory on  Monday,  Wednesday,  and
Friday,  and the Devil runs them by quantum theory on Tuesday, Thurs-
day, and Saturday.                                   -- William Bragg

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] mkimage: add option for adding dtc binary path via argument
  2013-05-06  4:32 ` Wolfgang Denk
@ 2013-05-06  8:01   ` Luka Perkov
  2013-05-06 12:32     ` Wolfgang Denk
  0 siblings, 1 reply; 7+ messages in thread
From: Luka Perkov @ 2013-05-06  8:01 UTC (permalink / raw)
  To: u-boot

Hi Wolfgang,

On Mon, May 06, 2013 at 06:32:11AM +0200, Wolfgang Denk wrote:
> In message <20130505190930-21234@mutt-kz> you wrote:
> > Add option for configuring path to dtc binary in mkimage command. The
> > dtc binary might not always be located in $PATH.
> 
> Could you please explain why that would be needed?  What prevents you
> adding the respective directory to your PATH?

I could do that too. I think it's much more elegant to tell mkimage
where dwc is located instead of tampering with the $PATH. Also, since we
are adding dtc options via arguments it seamed like a valid approach.

Luka

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] mkimage: add option for adding dtc binary path via argument
  2013-05-06  8:01   ` Luka Perkov
@ 2013-05-06 12:32     ` Wolfgang Denk
  2013-05-06 12:59       ` Luka Perkov
  0 siblings, 1 reply; 7+ messages in thread
From: Wolfgang Denk @ 2013-05-06 12:32 UTC (permalink / raw)
  To: u-boot

Dear Luka Perkov,

In message <20130506080157-11499@mutt-kz> you wrote:
> 
> > > Add option for configuring path to dtc binary in mkimage command. The
> > > dtc binary might not always be located in $PATH.
> > 
> > Could you please explain why that would be needed?  What prevents you
> > adding the respective directory to your PATH?
> 
> I could do that too. I think it's much more elegant to tell mkimage
> where dwc is located instead of tampering with the $PATH. Also, since we
> are adding dtc options via arguments it seamed like a valid approach.

Well, no.  The standard approach to tell the system about where to
find tools is to set PATH.

Using options does not scale.

It appears there is no really good reason for this patch, so I think
we should drop it.



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: wd at denx.de
"Why should we subsidize intellectual curiosity?" - Ronald Reagan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] mkimage: add option for adding dtc binary path via argument
  2013-05-06 12:32     ` Wolfgang Denk
@ 2013-05-06 12:59       ` Luka Perkov
  2013-08-14 16:58         ` Harvey Chapman
  0 siblings, 1 reply; 7+ messages in thread
From: Luka Perkov @ 2013-05-06 12:59 UTC (permalink / raw)
  To: u-boot

On Mon, May 06, 2013 at 02:32:51PM +0200, Wolfgang Denk wrote:
> It appears there is no really good reason for this patch, so I think
> we should drop it.

Ok. Thanks for the review.

Luka

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] mkimage: add option for adding dtc binary path via argument
  2013-05-06 12:59       ` Luka Perkov
@ 2013-08-14 16:58         ` Harvey Chapman
  2013-08-14 18:26           ` Simon Glass
  0 siblings, 1 reply; 7+ messages in thread
From: Harvey Chapman @ 2013-08-14 16:58 UTC (permalink / raw)
  To: u-boot

On May 6, 2013, at 8:59 AM, Luka Perkov <luka@openwrt.org> wrote:

> On Mon, May 06, 2013 at 02:32:51PM +0200, Wolfgang Denk wrote:
>> It appears there is no really good reason for this patch, so I think
>> we should drop it.
> 
> Ok. Thanks for the review.

Would there be any objection to adding an option to pass source paths to dtc from mkimage? Currently, in order to do that, I have to find the source for mkimage, grab the default dtc options out of mkimage.h and then pass that set on the command line. It would be nice and only slightly more future proof if I could just pass the source file search paths separately.


 local t=${VSD_PATH}/app/flasher/uboot_flasher
 local t2=${t}/tools
 PATH=${t2}:$PATH ${t2}/mkimage -D "-I dts -O dtb -p 500 -i ${release_dir}" \
                                -f ${t}/update_field_mode.its spot_update.bin

I'd like to pass one or more paths like "${release_dir}" without having to pass (or even know about) "-I dts -O dtb -p 500".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] mkimage: add option for adding dtc binary path via argument
  2013-08-14 16:58         ` Harvey Chapman
@ 2013-08-14 18:26           ` Simon Glass
  0 siblings, 0 replies; 7+ messages in thread
From: Simon Glass @ 2013-08-14 18:26 UTC (permalink / raw)
  To: u-boot

Hi,

On Wed, Aug 14, 2013 at 10:58 AM, Harvey Chapman <hchapman@3gfp.com> wrote:
> On May 6, 2013, at 8:59 AM, Luka Perkov <luka@openwrt.org> wrote:
>
>> On Mon, May 06, 2013 at 02:32:51PM +0200, Wolfgang Denk wrote:
>>> It appears there is no really good reason for this patch, so I think
>>> we should drop it.
>>
>> Ok. Thanks for the review.
>
> Would there be any objection to adding an option to pass source paths to dtc from mkimage? Currently, in order to do that, I have to find the source for mkimage, grab the default dtc options out of mkimage.h and then pass that set on the command line. It would be nice and only slightly more future proof if I could just pass the source file search paths separately.

So you mean the -i option? I think that would be valuable, yes.
Without it you need to put all your files in one directory, or
maintain the same directory structure in your release directory. It
gets really ugly. The -i option was added to deal with this and I
think it makes sense to make it available in mkimage.

>
>
>  local t=${VSD_PATH}/app/flasher/uboot_flasher
>  local t2=${t}/tools
>  PATH=${t2}:$PATH ${t2}/mkimage -D "-I dts -O dtb -p 500 -i ${release_dir}" \
>                                 -f ${t}/update_field_mode.its spot_update.bin
>
> I'd like to pass one or more paths like "${release_dir}" without having to pass (or even know about) "-I dts -O dtb -p 500".
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

Regards,
Simon

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-08-14 18:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-05 19:09 [U-Boot] [PATCH] mkimage: add option for adding dtc binary path via argument Luka Perkov
2013-05-06  4:32 ` Wolfgang Denk
2013-05-06  8:01   ` Luka Perkov
2013-05-06 12:32     ` Wolfgang Denk
2013-05-06 12:59       ` Luka Perkov
2013-08-14 16:58         ` Harvey Chapman
2013-08-14 18:26           ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox