Re: [PATCH 07/13] kconfig: move conf_set_all_new_symbols() to conf.c

From: Boris Kolpackov
Date: Mon Mar 15 2021 - 06:08:06 EST


Masahiro Yamada <masahiroy@xxxxxxxxxx> writes:

> This function is only used in conf.c. Move it there together with the
> randomize_choice_values() helper.
>
> [...]
>
> diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h
> index f946ab49ef50..d0d5acecb530 100644
> --- a/scripts/kconfig/lkc.h
> +++ b/scripts/kconfig/lkc.h
> @@ -57,7 +57,6 @@ const char *zconf_curname(void);
> const char *conf_get_configname(void);
> void sym_set_change_count(int count);
> void sym_add_change_count(int count);
> -bool conf_set_all_new_symbols(enum conf_def_mode mode);
> void set_all_choice_values(struct symbol *csym);

A number of people package kconfig as a library that is then used
in various projects outside of the Linux kernel. Removing this
function breaks the library ABI and potentially such project. For
example, I call conf_set_all_new_symbols() from my libbuild2-kconfig
build system module[1].

I know you don't care much for such out-of-kernel usage, still, this
(and the previous commit) feels like superficial reshuffling of code
and perhaps it's worth not breaking things unless there is something
substantial to gain?

[1] https://github.com/build2/libbuild2-kconfig/blob/master/libbuild2-kconfig/libbuild2/kconfig/init.cxx#L938