android_kernel_motorola_sm6375/scripts/kconfig
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Masahiro Yamada 2aabbed677 kconfig: remove S_OTHER symbol type and correct dependency tracking
The S_OTHER type could be set only when conf_read_simple() is reading
include/config/auto.conf file.

For example, CONFIG_FOO=y exists in include/config/auto.conf but it is
missing from the currently parsed Kconfig files, sym_lookup() allocates
a new symbol, and sets its type to S_OTHER.

Strangely, it will be set to S_STRING by conf_set_sym_val() a few lines
below while it is obviously bool or tristate type. On the other hand,
when CONFIG_BAR="bar" is being dropped from include/config/auto.conf,
its type remains S_OTHER. Because for_all_symbols() omits S_OTHER
symbols, conf_touch_deps() misses to touch include/config/bar.h

This behavior has been a pretty mystery for me, and digging the git
histroy did not help. At least, touching depfiles is broken for string
type symbols.

I removed S_OTHER entirely, and reimplemented it more simply.

If CONFIG_FOO was visible in the previous syncconfig, but is missing
now, what we want to do is quite simple; just call conf_touch_dep()
to touch include/config/foo.h instead of allocating a new symbol data.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-12-08 10:42:41 +09:00
..
lxdialog kconfig: drop localization support 2018-05-28 18:25:21 +09:00
tests kconfig: improve the recursive dependency report 2018-08-22 23:21:39 +09:00
.gitignore kconfig: drop localization support 2018-05-28 18:25:21 +09:00
conf.c kconfig: remove oldnoconfig target 2018-11-02 00:15:25 +09:00
confdata.c kconfig: remove S_OTHER symbol type and correct dependency tracking 2018-12-08 10:42:41 +09:00
expr.c
expr.h kconfig: remove S_OTHER symbol type and correct dependency tracking 2018-12-08 10:42:41 +09:00
gconf-cfg.sh kconfig: do not require pkg-config on make {menu,n}config 2018-09-03 02:13:48 +09:00
gconf.c kconfig: allow all config targets to write auto.conf if missing 2018-07-25 23:25:30 +09:00
gconf.glade
images.c
kconf_id.c kconfig: reference environment variables directly and remove 'option env=' 2018-05-29 03:28:58 +09:00
list.h
lkc.h kconfig: remove unused sym_get_env_prop() function 2018-08-14 08:59:57 +09:00
lkc_proto.h kconfig: allow all config targets to write auto.conf if missing 2018-07-25 23:25:30 +09:00
Makefile kconfig: remove silentoldconfig target 2018-11-02 00:15:25 +09:00
mconf-cfg.sh kconfig: do not require pkg-config on make {menu,n}config 2018-09-03 02:13:48 +09:00
mconf.c kconfig: remove a spurious self-assignment 2018-09-01 01:21:42 +09:00
menu.c kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE 2018-07-18 01:18:09 +09:00
merge_config.sh scripts/kconfig/merge_config: don't redefine 'y' to 'm' 2018-11-15 23:49:35 +09:00
nconf-cfg.sh kconfig: do not require pkg-config on make {menu,n}config 2018-09-03 02:13:48 +09:00
nconf.c kconfig: allow all config targets to write auto.conf if missing 2018-07-25 23:25:30 +09:00
nconf.gui.c
nconf.h kconfig: drop localization support 2018-05-28 18:25:21 +09:00
preprocess.c kconfig: loop boundary condition fix 2018-06-28 22:48:08 +09:00
qconf-cfg.sh kconfig: do not require pkg-config on make {menu,n}config 2018-09-03 02:13:48 +09:00
qconf.cc kconfig: remove P_ENV property type 2018-08-14 09:01:47 +09:00
qconf.h
streamline_config.pl kconfig: fix localmodconfig 2018-06-11 09:16:30 +09:00
symbol.c kconfig: remove S_OTHER symbol type and correct dependency tracking 2018-12-08 10:42:41 +09:00
util.c kconfig: rename file_write_dep and move it to confdata.c 2018-07-25 23:25:28 +09:00
zconf.l kconfig: expand lefthand side of assignment statement 2018-05-29 03:31:19 +09:00
zconf.y kconfig: fix the rule of mainmenu_stmt symbol 2018-08-13 12:04:51 +09:00