On Mon, Mar 15, 2021 at 7:07 PM Boris Kolpackov <boris@xxxxxxxxxxxxxxxxx> wrote: > > 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]. There is no such ABI in Kconfig. > 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 confdata.c is linked to all flavors of Kconfig (conf, mconf, gconf, and qconf). conf_set_all_new_symbols() and randomize_choice_values() are apparently only used by the text-base conf. They need to go to the correct location. -- Best Regards Masahiro Yamada