[U-Boot] [RFC PATCH v1] tools: Add a tool to get an overview of the usage of CONFIG options

Simon Glass sjg at chromium.org
Tue Sep 18 02:05:59 UTC 2018


HI Jean-Jacques,

On 17 September 2018 at 09:31, Jean-Jacques Hiblot <jjhiblot at ti.com> wrote:
> scan_configs.py is tool that allow to check how some options are used for
> a particular subset of platforms.
> The purpose is to identify the targets that are actually using one or more
> options of interest.
> For example, it can tell what targets are still using CONFIG_DM_I2_COMPAT.
> This is much slower that greping the configs directory but is actually more
> accurate as it relies on the information found in u-boot.cfg instead.
> It can also perform diffs between u-boot.cfg and spl/u-boot.cfg (sometimes
> platforms change the CONFIG options in the header file for the SPL) and
> diffs between .config and u-boot.cfg. This last is useful to identify
> options that could be moved to defconfigs.
>
> usage: scan_configs.py [-h] [--soc SOC] [--vendor VENDOR] [--arch ARCH]
>                        [--cpu CPU] [--board BOARD] [--target TARGET]
>                        [-j JOBS] [-v] [-p] [--keep] [--nobuild]
>                        [--uboot | --spl | --spldiff | --dotconfdiff]
>                        OPTION [OPTION ...]
>
> all filtering parameters (OPTION, vendor, arch, ...) accept regexp.
> ex: scan_configs.py .*DM_I2C.* --soc 'omap[2345]|k3' will match
> CONFIG_DM_I2C and CONFIG_DM_I2C_COMPAT and look for it only for targets
> using the omap2, omap3, omap4, omap5 or k3 SOCs.
>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
>
> ---
> I wrote this tool because I was struggling keeping in mind all the
> platforms that were impacted by a WIP on DM_I2C_COMPAT for TI platforms.
> You may find it useful too.
>
> limitations:
> - must be executed at the root of the source tree
> - the source tree must be clean (make mrproper)
> - only supports CSV format. visualization in terminal sould be added.
>   But LibreOffice calc is better suited with all its ordering/
>   filtering capabilities.
>
>  tools/scan_configs.py | 379 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 379 insertions(+)
>  create mode 100755 tools/scan_configs.py

This looks useful, but...

Have you looked at moveconfig? It has a way to create a CONFIG
database which can be queried.

Regards,
Simon


More information about the U-Boot mailing list