Prev: hwmon: f71882fg: use a muxed resource lock for the Super I/O port
Next: [PATCH] kconfig: refactor code in symbol.c
From: Sam Ravnborg on 31 Jul 2010 17:30 This is an update of patches previous posted. Version 2 have addressed the following feedback: - Drop the idea of introducing allrandconfig (Michal, Randy) - Do more code refactoring (Michal) - Use long options in conf.c (Michal) - savedefconfig shall list symbols in same order as in .config (Uwe) The major feature is the introduction of "make savedefconfig". Make savedefconfig creates a minimal configuration as have been discussed recently and which is already done for arm and powerpc. savedefconfig utilise the knowledge kconfig has to do so much faster than the phyton script posted. The implementation was checked against several arm defconfigs. This was btw. a great source as it allowed me to finetune the implementation without having to spent hours looking at the generated files. One minor issue was not solved.. when a symbol has a default value that is not within a valid range (the range may be limited by another symbol), then savedefconfig saves the config symbol with the default value. The final configuration is OK and this is so seldom that it does not matter in practice. [I found only one symbol that in a few configurations triggered this] Introducing savedefconfig does not say that I dislike the idea of specifying defconfigs partly/fully using Kconfig fragments. We just needed something better than the brute-force phython script and I could see this being usefull anyway. The patch also introduce another new target: alldefconfig alldefconfig creates a configuration with all symbols equals their default value. Now where we start to use the default values even more this can be usefull to check that there is a sensible set of default values. alldefconfig proved good as testing for savedefconfig make alldefconfig make savedefconfig Creates an empty defconfig file - because all symbols has their default value. The patchset in addition contains the following changes: - use long options in conf.c. This increased the readability of this file quite a lot - rename of loose_nonint_oldconfig to oldnoconfig - replace nonint_oldconfig with listnewconfig listnewconfig does not exit with a failure code if there is new options. nonint_oldconfig did so - improved warnings for recursive dependencies this also fixes a segmentation fault I have seen in handling recursive dependecies I consider this version ready for merge. The patches are created on top of kbuild.git for-next. I will trim cc: in the actual patches. Note: the patch from Roman Zippel is an old patch I digged up. Unfortunately I have not heard from Roman lately. I have in private mail suggested Michal to take over kconfig maintainership to document the current state of affairs. Sam Roman Zippel (1): kconfig: print more info when we see a recursive dependency Sam Ravnborg (8): kconfig: use long options in conf kconfig: rename loose_nonint_oldconfig => oldnoconfig kconfig: change nonint_oldconfig to listnewconfig kconfig: save location of config symbols kconfig: add alldefconfig kconfig: refactor code in symbol.c kconfig: code refactoring in confdata.c kconfig: add savedefconfig Documentation/kbuild/kconfig.txt | 2 +- scripts/kconfig/Makefile | 87 ++++++------- scripts/kconfig/conf.c | 196 ++++++++++++++-------------- scripts/kconfig/confdata.c | 213 +++++++++++++++++++++---------- scripts/kconfig/expr.h | 1 + scripts/kconfig/lkc.h | 2 + scripts/kconfig/lkc_proto.h | 1 + scripts/kconfig/menu.c | 2 + scripts/kconfig/symbol.c | 264 ++++++++++++++++++++++++++++++++++---- 9 files changed, 526 insertions(+), 242 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |