
On 26 October 2018 at 05:14, Jean-Jacques Hiblot jjhiblot@ti.com wrote:
configs2csv.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. It relies on the config database produced by tools/moveconfig.py. If the database doesn't exist, it will build it for the restricted set of the selected platforms. Once the database is built, it is much faster than greping the configs directory and more accurate as it relies on the information found in u-boot.cfg instead of defconfigs. It possible to look for options in the u-boot, the SPL or the TPL configurations. It can also perform diffs between those configurations.
usage: configs2csv.py [-h] [-X] [--u-boot] [--spl] [--tpl] [--diff] [--rebuild-db] [-j JOBS] [-o OUTPUT] [--no-header] [--discard-empty] [-i] [--soc SOC] [--vendor VENDOR] [--arch ARCH] [--cpu CPU] [--board BOARD] [--target TARGET] OPTION [OPTION ...]
all filtering parameters (OPTION, vendor, arch, ...) accept regexp. ex: configs2csv.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@ti.com
Changes in v3:
- stylistics changes
- Add more comments to describe classes and functions
Changes in v2:
- basically rewrote the whole thing
- use tools/moveconfig.py to generate the database of configs
- use tools/find_defconfigs.py to get the list of defconfigs off interest
- removed diff with .config. tools/moveconfig.py does a better job
tools/configs2csv.py | 427 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 427 insertions(+) create mode 100755 tools/configs2csv.py
Reviewed-by: Simon Glass sjg@chromium.org