- Sep 28, 2022
-
-
Zeng Heng authored
sym_set_choice_value could be removed and directly call sym_set_tristate_value instead. Signed-off-by:
Zeng Heng <zengheng4@huawei.com> Suggested-by:
Masahiro Yamada <masahiroy@kernel.org> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Miguel Ojeda authored
Having most of the new files in place, we now enable Rust support in the build system, including `Kconfig` entries related to Rust, the Rust configuration printer and a few other bits. Reviewed-by:
Kees Cook <keescook@chromium.org> Reviewed-by:
Nick Desaulniers <ndesaulniers@google.com> Tested-by:
Nick Desaulniers <ndesaulniers@google.com> Reviewed-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Co-developed-by:
Alex Gaynor <alex.gaynor@gmail.com> Signed-off-by:
Alex Gaynor <alex.gaynor@gmail.com> Co-developed-by:
Finn Behrens <me@kloenk.de> Signed-off-by:
Finn Behrens <me@kloenk.de> Co-developed-by:
Adam Bratschi-Kaye <ark.email@gmail.com> Signed-off-by:
Adam Bratschi-Kaye <ark.email@gmail.com> Co-developed-by:
Wedson Almeida Filho <wedsonaf@google.com> Signed-off-by:
Wedson Almeida Filho <wedsonaf@google.com> Co-developed-by:
Michael Ellerman <mpe@ellerman.id.au> Signed-off-by:
Michael Ellerman <mpe@ellerman.id.au> Co-developed-by:
Sven Van Asbroeck <thesven73@gmail.com> Signed-off-by:
Sven Van Asbroeck <thesven73@gmail.com> Co-developed-by:
Gary Guo <gary@garyguo.net> Signed-off-by:
Gary Guo <gary@garyguo.net> Co-developed-by:
Boris-Chengbiao Zhou <bobo1239@web.de> Signed-off-by:
Boris-Chengbiao Zhou <bobo1239@web.de> Co-developed-by:
Boqun Feng <boqun.feng@gmail.com> Signed-off-by:
Boqun Feng <boqun.feng@gmail.com> Co-developed-by:
Douglas Su <d0u9.su@outlook.com> Signed-off-by:
Douglas Su <d0u9.su@outlook.com> Co-developed-by:
Dariusz Sosnowski <dsosnowski@dsosnowski.pl> Signed-off-by:
Dariusz Sosnowski <dsosnowski@dsosnowski.pl> Co-developed-by:
Antonio Terceiro <antonio.terceiro@linaro.org> Signed-off-by:
Antonio Terceiro <antonio.terceiro@linaro.org> Co-developed-by:
Daniel Xu <dxu@dxuuu.xyz> Signed-off-by:
Daniel Xu <dxu@dxuuu.xyz> Co-developed-by:
Björn Roy Baron <bjorn3_gh@protonmail.com> Signed-off-by:
Björn Roy Baron <bjorn3_gh@protonmail.com> Co-developed-by:
Martin Rodriguez Reboredo <yakoyoku@gmail.com> Signed-off-by:
Martin Rodriguez Reboredo <yakoyoku@gmail.com> Signed-off-by:
Miguel Ojeda <ojeda@kernel.org>
-
- Sep 23, 2022
-
-
Zeng Heng authored
There is nowhere calling `menu_get_root_menu` function, so remove it. Signed-off-by:
Zeng Heng <zengheng4@huawei.com> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Jul 27, 2022
-
-
Randy Dunlap authored
Along with saying "Please install Qt5 ...", tell exactly which parts of Qt5 are needed. This is useful when parts of Qt5 are installed but some of the required pieces are missing, and it eliminates the need for the user to find the shell script and the line in it that provide that information. Signed-off-by:
Randy Dunlap <rdunlap@infradead.org> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Jun 04, 2022
-
-
Isak Ellmer authored
Make nconfig accept jk keybindings for movement in addition to arrow keys. Signed-off-by:
Isak Ellmer <isak01@gmail.com> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Apr 05, 2022
-
-
Chun-Tse Shao authored
Add HOSTPKG_CONFIG to allow tooling that builds the kernel to override what pkg-config and parameters are used. Signed-off-by:
Chun-Tse Shao <ctshao@google.com> Reviewed-by:
Nick Desaulniers <ndesaulniers@google.com> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Apr 01, 2022
-
-
Masahiro Yamada authored
This comment is about kconfig_print_symbol(), which was removed by commit 6ce45a91 ("kconfig: refactor conf_write_symbol()"). Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Feb 18, 2022
-
-
Masahiro Yamada authored
Currently, "# end of ..." is inserted when the menu goes back to its parent. Hence, an empty menu: menu "Foo" endmenu ... ends up with unbalanced menu comments, like this: # # Foo # Let's close the menu comments properly: # # Foo # # end of Foo Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
As David Laight pointed out, there is not much point in calling ferror() unless you call fflush() first. Reported-by:
David Laight <David.Laight@ACULAB.COM> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Feb 12, 2022
-
-
Jing Leng authored
When the KCONFIG_AUTOCONFIG is specified (e.g. export \ KCONFIG_AUTOCONFIG=output/config/auto.conf), the directory of include/config/ will not be created, so kconfig can't create deps files in it and auto.conf can't be generated. Signed-off-by:
Jing Leng <jleng@ambarella.com> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Feb 10, 2022
-
-
Masahiro Yamada authored
The file is not closed when ferror() fails. Fixes: 00d674cb ("kconfig: refactor conf_write_dep()") Fixes: 57ddd07c ("kconfig: refactor conf_write_autoconf()") Reported-by:
Ryan Cai <ycaibb@gmail.com> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Feb 08, 2022
-
-
Brenda Streiff authored
The 'shell' built-in only returns the first 256 bytes of the command's output. In some cases, 'shell' is used to return a path; by bumping up the buffer size to 4096 this lets us capture up to PATH_MAX. The specific case where I ran into this was due to commit 1e860048 ("gcc-plugins: simplify GCC plugin-dev capability test"). After this change, we now use `$(shell,$(CC) -print-file-name=plugin)` to return a path; if the gcc path is particularly long, then the path ends up truncated at the 256 byte mark, which makes the HAVE_GCC_PLUGINS depends test always fail. Signed-off-by:
Brenda Streiff <brenda.streiff@ni.com> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Jan 08, 2022
-
-
Masahiro Yamada authored
The previous commit fixed up all shell scripts to not include include/config/auto.conf. Now that include/config/auto.conf is only included by Makefiles, we can change it into a more Make-friendly form. Previously, Kconfig output string values enclosed with double-quotes (both in the .config and include/config/auto.conf): CONFIG_X="foo bar" Unlike shell, Make handles double-quotes (and single-quotes as well) verbatim. We must rip them off when used. There are some patterns: [1] $(patsubst "%",%,$(CONFIG_X)) [2] $(CONFIG_X:"%"=%) [3] $(subst ",,$(CONFIG_X)) [4] $(shell echo $(CONFIG_X)) These are not only ugly, but also fragile. [1] and [2] do not work if the value contains spaces, like CONFIG_X=" foo bar " [3] does not work correctly if the value contains double-quotes like CONFIG_X="foo\"bar" [4] seems to work better, but has a cost of forking a process. Anyway, quoted strings were always PITA for our Makefiles. This commit changes Kconfig to stop quoting in include/config/auto.conf. These are the string type symbols referenced in Makefiles or scripts: ACPI_CUSTOM_DSDT_FILE ARC_BUILTIN_DTB_NAME ARC_TUNE_MCPU BUILTIN_DTB_SOURCE CC_IMPLICIT_FALLTHROUGH CC_VERSION_TEXT CFG80211_EXTRA_REGDB_KEYDIR EXTRA_FIRMWARE EXTRA_FIRMWARE_DIR EXTRA_TARGETS H8300_BUILTIN_DTB INITRAMFS_SOURCE LOCALVERSION MODULE_SIG_HASH MODULE_SIG_KEY NDS32_BUILTIN_DTB NIOS2_DTB_SOURCE OPENRISC_BUILTIN_DTB SOC_CANAAN_K210_DTB_SOURCE SYSTEM_BLACKLIST_HASH_LIST SYSTEM_REVOCATION_KEYS SYSTEM_TRUSTED_KEYS TARGET_CPU UNUSED_KSYMS_WHITELIST XILINX_MICROBLAZE0_FAMILY XILINX_MICROBLAZE0_HW_VER XTENSA_VARIANT_NAME I checked them one by one, and fixed up the code where necessary. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Dec 02, 2021
-
-
Łukasz Stelmach authored
Show the very same file name that was passed to open() in case the operation failed. Signed-off-by:
Łukasz Stelmach <l.stelmach@samsung.com>
-
Josh Triplett authored
When converting a modular kernel to a monolithic kernel, once the kernel works without loading any modules, this helps to quickly disable all the modules before turning off module support entirely. Refactor conf_rewrite_mod_or_yes to a more general conf_rewrite_tristates that accepts an old and new state. Signed-off-by:
Josh Triplett <josh@joshtriplett.org> Tested-by:
Björn Töpel <bjorn@kernel.org> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Oct 11, 2021
-
-
Masahiro Yamada authored
If this function fails to touch a dummy header due to missing parent directory, then it creates it and touches the file again. This was needed because CONFIG_FOO_BAR was previously tracked by include/config/foo/bar.h. (include/config/foo/ may not exist here) This is no longer the case since commit 0e0345b7 ("kbuild: redo fake deps at include/config/*.h"); now all the fake headers are placed right under include/config/, like include/config/FOO_BAR. Do not try to create parent directory, include/config/, which already exists. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
The if ... else inside the for-loop is unneeded because one empty line is placed after printing the last element of deps_config. Currently, all errors in conf_write_dep() are ignored. Add proper error checks. Rename it to conf_write_autoconf_cmd(), which is more intuitive. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
This function does similar for auto.conf and autoconf.h Create __conf_write_autoconf() helper to factor out the common code. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
For consistency with conf_get_autoconfig_name() Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
Now that sym_escape_string_value() is only used in confdata.c it can be a 'static' function. Rename it escape_string_value() because it is agnostic about (struct sym *). Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
We can reuse __print_symbol() helper to print symbols for listnewconfig. Only the difference is the format for "n" symbols. This prints "CONFIG_FOO=n" instead of "# CONFIG_FOO is not set". Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
I do not think 'struct conf_printer' is so useful. Add simple functions, print_symbol_for_*() to write out one symbol. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
All the call sites of conf_write_heading() pass NULL to the third argument, and it is not used in the function. Also, the print_comment hooks are doing much more complex than needed. Rewrite the code. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Oct 01, 2021
-
-
Masahiro Yamada authored
sym_escape_string_value() returns a malloc'ed memory, but as (const char *). So, it must be casted to (void *) when it is free'd. This is odd. The return type of sym_escape_string_value() should be (char *). I exploited that free(NULL) has no effect. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Sep 29, 2021
-
-
Masahiro Yamada authored
In Kconfig, like Python, you can enclose a string by double-quotes or single-quotes. So, both "foo" and 'foo' are allowed. The variable, "str", is used to remember whether the string started with a double-quote or a single-quote because open/closing quotation marks must match. The name "str" is too generic to understand the intent. Rename it to "open_quote", which is easier to understand. The type should be 'char'. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org> Reviewed-by:
Boris Kolpackov <boris@codesynthesis.com>
-
Masahiro Yamada authored
The variables, "ts" and "i", are used locally in the action of the [ \t]+ pattern in the <HELP> start state. Define them where they are used. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Sep 25, 2021
-
-
Ariel Marcovitch authored
When one searches for a main menu item, links aren't created for it like with the rest of the symbols. This happens because we trace the item until we get to the rootmenu, but we don't include it in the path of the item. The rationale was probably that we don't want to show the main menu in the path of all items, because it is redundant. However, when an item has only the rootmenu in its path it should be included, because this way the user can jump to its location. Add a 'Main menu' entry in the 'Location:' section for the kconfig items. This makes the 'if (i > 0)' superfluous because each item with prompt will have at least one menu in its path. Signed-off-by:
Ariel Marcovitch <arielmarcovitch@gmail.com> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Aug 09, 2021
-
-
Matthias Maennich authored
When merging configuration fragments, it might be of interest to identify mismatches (redefinitions) programmatically. Hence add the option -s (strict mode) to instruct merge_config.sh to bail out in case any redefinition has been detected. With strict mode, warnings are emitted as before, but the script terminates with rc=1. If -y is set to define "builtin having precedence over modules", fragments are still allowed to set =m (while the base config has =y). Strict mode will tolerate that as demotions from =y to =m are ignored when setting -y. Signed-off-by:
Matthias Maennich <maennich@google.com> Reviewed-by:
Lee Jones <lee.jones@linaro.org> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Jun 29, 2021
-
-
Steven Rostedt (VMware) authored
The tab stop for Perl files is by default (at least in emacs) to be 4 spaces, where a tab is used for all 8 spaces. Add a local variable comment to make vim do the same by default, and this will help keep the file consistent in the future when others edit it via vim and not emacs. Link: https://lkml.kernel.org/r/20210322214032.293992979@goodmis.org Signed-off-by:
Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: "John (Warthog9) Hawley" <warthog9@kernel.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Steven Rostedt (VMware) authored
Patch series "streamline_config.pl: Fix Perl spacing". Talking with John Hawley about how vim and emacs deal with Perl files with respect to tabs and spaces, I found that some of my Perl code in the kernel had inconsistent spacing. The way emacs handles Perl by default is to use 4 spaces per indent, but make all 8 spaces into a single tab. Vim does not do this by default. But if you add the vim variable control: # vim: softtabstop=4 to a perl file, it makes vim behave the same way as emacs. The first patch is to change all 8 spaces into a single tab (mostly from people editing the file with vim). The next patch adds the softtabstop variable to make vim act like emacs by default. This patch (of 2): As Perl code tends to have 4 space indentation, but uses tabs for every 8 spaces, make that consistent in the streamline_config.pl code. Replace all 8 spaces with a single tab. Link: https://lkml.kernel.org/r/20210322214032.133596267@goodmis.org Signed-off-by:
Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: "John (Warthog9) Hawley" <warthog9@kernel.org> Cc: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Jun 05, 2021
-
-
Masahiro Yamada authored
getopt_long() does not modify the long_opts structure. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Apr 25, 2021
-
-
Masahiro Yamada authored
Add '/' prefix to clarify that the generated files exist right under scripts/kconfig/, but not in any sub-directory. Replace '*conf-cfg' with '[gmnq]conf-cfg' to make it explicit, and still short enough. Use '[gmnq]conf' to combine gconf, mconf, nconf, and qconf. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Apr 24, 2021
-
-
Alexey Dobriyan authored
Make include/config/foo/bar.h fake deps files generation simpler. * delete .h suffix those aren't header files, shorten filenames, * delete tolower() Linux filesystems can deal with both upper and lowercase filenames very well, * put everything in 1 directory Presumably 'mkdir -p' split is from dark times when filesystems handled huge directories badly, disks were round adding to seek times. x86_64 allmodconfig lists 12364 files in include/config. ../obj/include/config/ ├── 104_QUAD_8 ├── 60XX_WDT ├── 64BIT ... ├── ZSWAP_DEFAULT_ON ├── ZSWAP_ZPOOL_DEFAULT └── ZSWAP_ZPOOL_DEFAULT_ZBUD 0 directories, 12364 files Signed-off-by:
Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Apr 19, 2021
-
-
Randy Dunlap authored
Mark Kconfig "comment" lines with "*** <commentstring> ***" so that it is clear that these lines are comments and not some kconfig item that cannot be modified. This is helpful in some menus to be able to provide a menu "sub-heading" for groups of similar config items. This also makes the comments be presented in a way that is similar to menuconfig and nconfig. Signed-off-by:
Randy Dunlap <rdunlap@infradead.org> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Randy Dunlap authored
Mark Kconfig "comment" lines with "*** <commentstring> ***" so that it is clear that these lines are comments and not some kconfig item that cannot be modified. This is helpful in some menus to be able to provide a menu "sub-heading" for groups of similar config items. This also makes the comments be presented in a way that is similar to menuconfig and nconfig. Signed-off-by:
Randy Dunlap <rdunlap@infradead.org> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
Remove the unused <config.h> inclusion, and commented out lines. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
Commit 3b9fa093 ("[PATCH] Kconfig i18n support") added this code, and then commit ("kconfig: drop localization support") removed the i18n support entirely. Remove the left-over. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Apr 16, 2021
-
-
Mihai Moldovan authored
If the user selects the very first entry in a page and performs a search-up operation, or selects the very last entry in a page and performs a search-down operation that will not succeed (e.g., via [/]asdfzzz[Up Arrow]), nconf will never terminate searching the page. The reason is that in this case, the starting point will be set to -1 or n, which is then translated into (n - 1) (i.e., the last entry of the page) or 0 (i.e., the first entry of the page) and finally the search begins. This continues to work fine until the index reaches 0 or (n - 1), at which point it will be decremented to -1 or incremented to n, but not checked against the starting point right away. Instead, it's wrapped around to the bottom or top again, after which the starting point check occurs... and naturally fails. My original implementation added another check for -1 before wrapping the running index variable around, but Masahiro Yamada pointed out that the actual issue is that the comparison point (starting point) exceeds bounds (i.e., the [0,n-1] interval) in the first place and that, instead, the starting point should be fixed. This has the welcome side-effect of also fixing the case where the starting point was n while searching down, which also lead to an infinite loop. OTOH, this code is now essentially all his work. Amazingly, nobody seems to have been hit by this for 11 years - or at the very least nobody bothered to debug and fix this. Signed-off-by:
Mihai Moldovan <ionic@ionic.de> Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
- Apr 14, 2021
-
-
Masahiro Yamada authored
Compile menu.c as an independent compilation unit. Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-
Masahiro Yamada authored
This helper is the same as the sample code in the NCURSES HOWTO [1], but it is over-engineering to be used for nconf. I do not see any good reason to use the 'float' type just for the division by 2. All the call-sites pass a non-NULL pointer to the first argument, so 'if (win == NULL) win = stdscr;' is dead code. 'if (startx != 0) x = startx;' is dead code because 'x' will be overridden some lines below, by 'x = startx + (int)temp;'. All the call-sites pass a non-zero value to the second argument, so 'if (starty != 0)' is always true. getyx(win, y, x) is also dead-code because both 'y' and 'x' are overridden. All the call-sites pass 0 to the third parameter, so 'startx' can be removed. All the call-sites pass a non-zero value to the fourth parameter, so 'if (width == 0) width = 80;' is dead code. The window will be refreshed later, so there is no need to call refresh() in this function. Change the type of the last parameter from 'chtype' to 'int' to be aligned with the prototype, 'int wattrset(WINDOW *win, int attrs);' I also slightly cleaned up the indentation style. [1]: https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/color.html Signed-off-by:
Masahiro Yamada <masahiroy@kernel.org>
-