summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeLines
* buildman: Produce a sensible error message when branch is missingSimon Glass2013-05-14-6/+19
| | | | | | | Rather than a backtrace, produce a nice error message when an invalid branch is provided to buildman. Signed-off-by: Simon Glass <sjg@chromium.org>
* mkimage: Put FIT loading in function and tidy error handlingSimon Glass2013-05-14-39/+57
| | | | | | | | | | The fit_handle_file() function is quite long - split out the part that loads and checks a FIT into its own function. We will use this function for storing public keys into a destination FDT file. The error handling is currently a bit repetitive - tidy it. Signed-off-by: Simon Glass <sjg@chromium.org>
* image: Rename fit_add_hashes() to fit_add_verification_data()Simon Glass2013-05-14-78/+67
| | | | | | | | | We intend to add signatures to FITs also, so rename this function so that it is not specific to hashing. Also rename fit_image_set_hashes() and make it static since it is not used outside this file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* image: Convert fit_image_hash_set_value() to static, and renameSimon Glass2013-05-14-31/+31
| | | | | | | | | This function doesn't need to be exported, and with verification we want to use it for setting the 'value' property in any node, so rename it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* image: Split hash node processing into its own functionSimon Glass2013-05-14-39/+57
| | | | | | | | This function has become quite long and much of the body is indented quite a bit. Move it into a separate function to make it easier to work with. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marek Vasut <marex@denx.de>
* image: Move HOSTCC image code to tools/Simon Glass2013-05-14-0/+203
| | | | | | | | This code is never compiled into U-Boot, so move it into a separate file in tools/ to avoid the large #ifdef. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* image: Split FIT code into new image-fit.cSimon Glass2013-05-14-0/+2
| | | | | | | | The FIT code is about half the size of the >3000-line image.c. Split this code into its own file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* mkimage: Move ARRAY_SIZE to header fileSimon Glass2013-05-14-1/+2
| | | | | | | | Move this definition from aisimage.c to mkimage.h so that it is available more widely. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marek Vasut <marex@denx.de>
* patman: Do not hardcode python pathMichal Simek2013-05-09-1/+1
| | | | | | | | | | | | Patman requires python 2.7.4 to run but it doesn't need to be placed in /usr/bin/python. Use env to ensure that the interpreter used is the first one on environment's $PATH on system with several versions of Python installed. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Tom Rini <trini@ti.com> Acked-by: Simon Glass <sjg@chromium.org>
* buildman: Allow conflicting tags to avoid spurious errorsSimon Glass2013-05-09-1/+8
| | | | | | | | | | Conflicting tags can prevent buildman from building two series which exist one after the other in a branch. There is no reason not to allow this sort of workflow with buildman, so ignore conflicting tags in buildman. Change-Id: I2231d04d8684fe0f8fe77f8ea107e5899a3da5e8 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@ti.com>
* patman: fix gitutil for decorationsAndreas Bießmann2013-04-18-4/+7
| | | | | | | | | The git config parameter log.decorate is quite useful when working with git. Patman, however can not handle the decorated output when parsing the commit. To prevent this use the '--no-decorate' switch for git-log. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> Acked-by: Simon Glass <sjg@chromium.org>
* fdt: Ensure that libfdt_env.h comes from U-BootSimon Glass2013-04-17-1/+2
| | | | | | | | | | | | | | | | When building host utilities, we include libfdt.h from the host, not from U-Boot. This in turn brings in libfdt_env.h from the host, which can mess up the types and cause a build failure, depending on the host environment. To fix this, force inclusion of U-Boot's libfdt_env.h so that the types are correct. Another way to fix this is to use -nostdinc and -idirafter to ensure that system includes are included after U-Boot ones. Unfortunately this means that U-Boot's errno.h gets included instead of the system one. This in turn requires a hack to errno.h to redirect things, so all in all the solution in this patch is probably cleaner. Signed-off-by: Simon Glass <sjg@chromium.org>
* Merge branch 'u-boot/master' into 'u-boot-arm/master'Albert ARIBAUD2013-04-12-152/+3917
|\ | | | | | | | | Conflicts: drivers/video/exynos_fb.c
| * env: Add redundant env support to UBI envJoe Hershberger2013-04-11-0/+3
| | | | | | | | | | | | Allow the user to specify two UBI volumes to use for the environment Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
| * env: Add support for UBI environmentJoe Hershberger2013-04-11-1/+2
| | | | | | | | | | | | | | | | | | UBI is a better place for the environment on NAND devices because it handles wear-leveling and bad blocks. Gluebi is needed in Linux to access the env as an MTD partition. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
| * patman: Add Series-process-log tag to sort/uniq change logsSimon Glass2013-04-08-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For some series with lots of changes it is annoying that duplicate change log items are not caught. It is also helpful sometimes to sort the change logs. Add a Series-process-log tag to enable this, which can be placed in a commit to control this. The change to the Cc: line is to fix a checkpatch warning. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org>
| * patman: Add -a option to refrain from test-applying the patchesSimon Glass2013-04-08-3/+7
| | | | | | | | | | | | | | | | | | | | Especially with the Linux kernel, it takes a long time (a minute or more) to test-apply the patches, so patman becomes significantly less useful. The only real problem that is found with this apply step is trailing spaces. Provide a -a option to skip this step, for those working with clean patches. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org>
| * patman: Don't barf if the word 'commit' starts a lineDoug Anderson2013-04-08-1/+1
| | | | | | | | | | | | | | | | | | | | | | Patman's regular expression for detecting the start of a commit in a git log was a little simplistic and could be confused if the git log itself had the word "commit" as the start of a line (as this commit does). Make patman a little more robust. Signed-off-by: Doug Anderson <dianders@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
| * patman: Provide option to ignore bad aliasesSimon Glass2013-04-08-24/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Often it happens that patches include tags which don't have aliases. It is annoying that patman fails in this case, and provides no option to continue other than adding empty tags to the .patman file. Correct this by adding a '-t' option to ignore tags that don't exist. Print a warning instead. Since running the tests is not a common operation, move this to --test instead, to reserve -t for this new option. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org>
| * buildman - U-Boot multi-threaded builder and summary toolSimon Glass2013-04-04-0/+3030
| | | | | | | | | | | | | | | | | | | | | | | | | | This tool handles building U-Boot to check that you have not broken it with your patch series. It can build each individual commit and report which boards fail on which commits, and which errors come up. It also shows differences in image sizes due to particular commits. Buildman aims to make full use of multi-processor machines. Documentation and caveats are in tools/buildman/README. Signed-off-by: Simon Glass <sjg@chromium.org>
| * patman: Ignore all Gerrit Commit-* tagsSimon Glass2013-04-04-1/+1
| | | | | | | | | | | | | | These tags are used by Gerrit, so let's ignore all of them. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org>
| * patman: Minor help message/README fixesSimon Glass2013-04-04-3/+3
| | | | | | | | | | | | | | | | A few of the help messages are not quite right, and there is a typo in the README. Fix these. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org>
| * patman: Fix the comment in CheckTags to mention multiple tagsSimon Glass2013-04-04-2/+3
| | | | | | | | | | | | | | | | This comment is less than helpful. Since multiple tags are supported, add an example of how multiple tags work. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org>
| * patman: Don't allow spaces in tagsSimon Glass2013-04-04-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present something like: Revert "arm: Add cache operations" will try to use Revert "arm as a tag. Clearly this is wrong, so fix it. If the revert is intended to be tagged, then the tag can come before the revert, perhaps. Alternatively the 'Cc' tag can be used in the commit messages. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org>
| * patman: Fix up checkpatch parsing to deal with 'CHECK' linesSimon Glass2013-04-04-62/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | checkpatch has a new type of warning, a 'CHECK'. At present patman fails with these, which makes it less than useful. Add support for checks, making it backwards compatible with the old checkpatch. At the same time, clean up formatting of the CheckPatches() output, fix erroneous "internal error" if multiple patches have warnings and be more robust to new types of problems. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org>
| * patman: Add Cover-letter-cc tag to Cc cover letter to peopleSimon Glass2013-04-04-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | The cover letter is sent to everyone who is on the Cc list for any of the patches in the series. Sometimes it is useful to send just the cover letter to additional people, so that they are aware of the series, but don't need to wade through all the individual patches. Add a new Cover-letter-cc tag for this purpose. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org>
| * patman: Allow specifying the message ID your series is in reply toDoug Anderson2013-04-04-2/+9
| | | | | | | | | | | | | | | | | | Some versions of git don't seem to prompt you for the message ID that your series is in reply to. Allow specifying this from the command line. Signed-off-by: Doug Anderson <dianders@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
| * patman: Make "Reviewed-by" an important tagDoug Anderson2013-04-04-4/+4
| | | | | | | | | | | | | | | | | | | | Although "Reviewed-by:" is a tag that gerrit adds, it's also a tag used by upstream. Stripping it is undesirable. In fact, we should treat it as important. Signed-off-by: Doug Anderson <dianders@chromium.org> Reviewed-by: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Simon Glass <sjg@chromium.org>
| * patman: Add additional git utiltiesSimon Glass2013-04-04-1/+123
| | | | | | | | | | | | | | Add methods to find out the commits in a branch, clone a repo and fetch from a repo. Signed-off-by: Simon Glass <sjg@chromium.org>
| * patman: Allow reading metadata from a list of commitsSimon Glass2013-04-04-7/+29
| | | | | | | | | | | | | | | | We normally read from the current branch, but buildman will need to look at commits from another branch. Allow the metadata to be read from any list of commits, to provide this flexibility. Signed-off-by: Simon Glass <sjg@chromium.org>
| * patman: Allow commands to raise on error, or notSimon Glass2013-04-04-7/+13
| | | | | | | | | | | | | | | | Make raise_on_error a parameter so that we can control which commands raise and which do not. If we get an error reading the alias file, just continue. Signed-off-by: Simon Glass <sjg@chromium.org>
| * patman: Make command methods return a CommandResultSimon Glass2013-04-04-24/+64
| | | | | | | | | | | | | | | | Rather than returning a list of things, return an object. That makes it easier to access the returned items, and easier to extend the return value later. Signed-off-by: Simon Glass <sjg@chromium.org>
| * patman: Add cros_subprocess library to manage subprocessesSimon Glass2013-04-04-0/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new library on top of subprocess which permits access to the subprocess output as it is being generated. We can therefore give the illusion that a process is running independently, but still monitor its output so that we know what is going on. It is possible to display output on a terminal as it is generated (a little like tee). The supplied output function is called with all stdout/stderr data as it arrives. Signed-off-by: Simon Glass <sjg@chromium.org>
| * patman: Use bright ANSI colours by defaultSimon Glass2013-04-04-8/+11
| | | | | | | | | | | | | | Rather than the rather dull colours, use bright versions which normally look better and are easier to read. Signed-off-by: Simon Glass <sjg@chromium.org>
| * patman: Use ANSI colours only when outputting to a terminalSimon Glass2013-04-04-2/+9
| | | | | | | | | | | | | | | | It is easy to detect whether or not the process is connected to a terminal, or piped to a file. Disable ANSI colours automatically when output is not to a terminal. Signed-off-by: Simon Glass <sjg@chromium.org>
* | autoconfig.mk: Make it possible to define configs from other configsBenoît Thébaudeau2013-04-12-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Give more flexibility to define configs that can be interpreted by make, e.g. to define fallback values of configs like in the example below. Before this change, the config lines: #define CONFIG_SPL_MAX_SIZE 2048 #define CONFIG_SPL_PAD_TO CONFIG_SPL_MAX_SIZE would have been changed in autoconfig.mk into: CONFIG_SPL_MAX_SIZE=2048 CONFIG_SPL_PAD_TO="CONFIG_SPL_MAX_SIZE" Hence, a make recipe using as an argument to $(OBJCOPY): --pad-to=$(CONFIG_SPL_PAD_TO) would have issued: --pad-to="CONFIG_SPL_MAX_SIZE" which means nothing for $(OBJCOPY) and makes it fail. Thanks to this change, the config lines above are changed in autoconfig.mk into: CONFIG_SPL_MAX_SIZE=2048 CONFIG_SPL_PAD_TO=$(CONFIG_SPL_MAX_SIZE) Hence, the make recipe above now issues: --pad-to=2048 as expected from the defined config. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Reviewed-by: Tom Rini <trini@ti.com>
* | logo: update to the new logo for ATMELJosh Wu2013-04-05-0/+0
|/ | | | | | | Atmel change to new logo since 2012. This patch update the logo to new one. Signed-off-by: Josh Wu <josh.wu@atmel.com> Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* checkpatch.pl: Add 'debug' to the list of logFunctionsTom Rini2013-03-27-0/+1
| | | | | | | | While the kernel mainly uses pr_debug(...), etc, for debug messages, we use debug(...). Add this to the list of logFunctions so that they are correctly checked (and not warned against) for long string literals. Signed-off-by: Tom Rini <trini@ti.com>
* env: Allow accessing non-mtd devicesLubomir Rintel2013-03-11-10/+27
| | | | | | | In certain cases, memory device is present as flat file or block device (via mmc or mtdblock layer). Do not attempt MTD operations against it. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
* Fix a couple typoes in tools/env/READMERobert P. J. Day2013-03-11-2/+2
| | | | Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
* tools: update checkpatch to latest upstream versionKim Phillips2013-03-11-192/+556
| | | | | | | i.e., from the linux kernel's commit be987d9f80354e2e919926349282facd74992f90 Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* fw_env.config: Correct "fw_saveenv" to "fw_setenv".Robert P. J. Day2013-02-19-1/+1
| | | | | | Fix a comment in the fw_env.config file, no functional change. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2013-02-12-1/+3
|\
| * tools: imximage: Let .name field be more genericFabio Estevam2013-01-28-1/+1
| | | | | | | | | | | | | | Since this structure is not i.MX5x specific, remove the '5x' to make it more generic. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
| * mx23: config: Enable mxsboot tool for i.MX23 based boardsOtavio Salvador2013-01-21-0/+2
| | | | | | | | | | | | | | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* | treewide: include libfdt_env.h before fdt.hKim Phillips2013-02-07-2/+0
| | | | | | | | | | | | | | | | | | | | | | and, if including libfdt.h which includes libfdt_env.h in the correct order, don't include fdt.h before libfdt.h. this is needed to get the fdt type definitions set from the project environment before fdt.h uses them. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Cc: Jerry Van Baren <gvb.uboot@gmail.com>
* | patman: Allow use outside of u-boot treeVadim Bendebury2013-01-31-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To make it usable in git trees not providing a patch checker implementation, add a command line option, allowing to suppress patch check. While we are at it, sort debug options alphabetically. Also, do not raise an exception if checkpatch.pl is not found - just print an error message suggesting to use the new option, and return nonzero status. . unit test passes: $ ./patman -t <unittest.result.TestResult run=7 errors=0 failures=0> . successfully used patman in the autotest tree to generate a patch email (with --no-check option) . successfully used patman in the u-boot tree to generate a patch email . `patman --help' now shows command line options ordered alphabetically Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Acked-by: Doug Anderson <dianders@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* | patman: Add settings to the list of modules to doctestDoug Anderson2013-01-31-2/+3
| | | | | | | | | | | | The settings modules now has doctests, so run them. Signed-off-by: Doug Anderson <dianders@chromium.org>
* | patman: Add the concept of multiple projectsDoug Anderson2013-01-31-4/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are cases that we want to support different settings (or maybe even different aliases) for different projects. Add support for this by: * Adding detection for two big projects: U-Boot and Linux. * Adding default settings for Linux (U-Boot is already good with the standard patman defaults). * Extend the new "settings" feature in .patman to specify per-project settings. Signed-off-by: Doug Anderson <dianders@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* | patman: Add support for settings in .patmanDoug Anderson2013-01-31-6/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for a [settings] section in the .patman file. In this section you can add settings that will affect the default values for command-line options. Support is added in a generic way such that any setting can be updated by just referring to the "dest" of the option that is passed to the option parser. At the moment options that would make sense to put in settings are "ignore_errors", "process_tags", and "verbose". You could override them like: [settings] ignore_errors: True process_tags: False verbose: True The settings functionality is also used in a future change which adds support for per-project settings. Signed-off-by: Doug Anderson <dianders@chromium.org>