summaryrefslogtreecommitdiff
path: root/scripts/kconfig
AgeCommit message (Collapse)Author
2025-07-02kconfig: gconf: use GdkPixbuf in replace_button_icon()Masahiro Yamada
gdk_pixmap_create_from_xpm_d has been deprecated since version 2.22. Use a GdkPixbuf instead. You can use gdk_pixbuf_new_from_xpm_data() to create it. [1] [1]: https://gitlab.gnome.org/GNOME/gtk/-/blob/2.24.33/gdk/gdkpixmap.c#L742 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-02kconfig: gconf: use GtkFileChooser in on_save_as1_activate()Masahiro Yamada
gtk_file_selection_new() is deprecated, and gtk_file_chooser_dialog_new() should be used instead. [1] [1]: https://gitlab.gnome.org/GNOME/gtk/-/blob/2.24.33/docs/reference/gtk/tmpl/gtkfilesel.sgml?ref_type=tags#L156 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
2025-07-02kconfig: gconf: use GtkFileChooser in on_load1_activate()Masahiro Yamada
gtk_file_selection_new() is deprecated, and gtk_file_chooser_dialog_new() should be used instead. [1] [1]: https://gitlab.gnome.org/GNOME/gtk/-/blob/2.24.33/docs/reference/gtk/tmpl/gtkfilesel.sgml?ref_type=tags#L156 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
2025-07-02kconfig: gconf: add on_save_clicked() event handlerMasahiro Yamada
The "clicked" event handler for GtkToolButton takes the GtkToolButton* as the first parameter. This is different from the existing on_save_activate() handler. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-02kconfig: gconf: avoid hardcoding model* in on_treeview*_button_press_event()Masahiro Yamada
It is better not to hardcode model1 or model2 for consistency. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-02kconfig: gconf: avoid hardcoding model2 in renderer_edited()Masahiro Yamada
Although this is only used in the right tree view, it is better not to hardcode model2 for consistency. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-02kconfig: gconf: avoid hardcoding model2 in on_treeview2_cursor_changed()Masahiro Yamada
The on_treeview2_cursor_changed() handler is connected to both the left and right tree views, but it hardcodes model2 (the GtkTreeModel of the right tree view). This is incorrect. Get the associated model from the view. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-02kconfig: gconf: make key_press_event work in left pane tooMasahiro Yamada
Currently, on_treeview2_key_press_event() returns early for the tree1 widget. We can make it work on the left pane as well by avoiding the hardcoded use of model2. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-02kconfig: gconf: remove glade_xml_signal_autoconnect() callMasahiro Yamada
Now that all signals are connected manually, this is no longer necessary. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-02kconfig: gconf: add static qualifiers to event handlersMasahiro Yamada
This fixes several -Wmissing-prototypes warnings. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org>
2025-07-02kconfig: gconf: move button1 and save1 initialization codeMasahiro Yamada
Move the relevant initialization code closer together. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-02kconfig: gconf: move the main window event handlers belowMasahiro Yamada
This allows removal of the forward delcaration of on_save_activate(). Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-02kconfig: gconf: grey out button for current viewMasahiro Yamada
This clarifies which view is currently selected. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
2025-07-02kconfig: gconf: refactor view setting codeMasahiro Yamada
Factor out common code for setting the view into a new function, set_view_mode(). Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org>
2025-07-01kconfig: gconf: move init_*() functions belowMasahiro Yamada
This allows removal of the forward declaration of renderer_edited(). Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: add static qualifiers to variablesMasahiro Yamada
I also removed unnecessary initializers. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove unused 'color' variableMasahiro Yamada
This is not used at all. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove unneeded variables in on_treeview*_button_press_event()Masahiro Yamada
Not all position parameters are used here. Passing NULL to gtk_tree_view_get_cursor() or gtk_tree_view_get_path_at_pos() is allowed. [1] [2] [1]: https://gitlab.gnome.org/GNOME/gtk/-/blob/2.24.33/gtk/gtktreeview.c#L12638 [1]: https://gitlab.gnome.org/GNOME/gtk/-/blob/2.24.33/gtk/gtktreeview.c#L12795 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove unneeded variable in on_split_clicked()Masahiro Yamada
The height of the window is not used here. Passing NULL to gtk_window_get_default_size() is allowed. [1] [1]: https://gitlab.gnome.org/GNOME/gtk/-/blob/2.24.33/gtk/gtkwindow.c#L3974 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove unnecessary NULL checks for tree1 and tree2Masahiro Yamada
The tree1 and tree2 variables are initialized earlier in init_tree_model(), so the NULL checks are redundant. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove parents[] array and indent variableMasahiro Yamada
The parents[] array is used to store the GtkTreeIter of parent nodes, but this can be simplified: we can pass a GtkTreeIter pointer down when _display_tree() recurses. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove internal-child="image" nodes from gladeMasahiro Yamada
These nodes do not appear to serve anything useful. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove unnecessary gtk_set_locale() callMasahiro Yamada
gtk_set_locale() has been deprecated since version 2.24, and setlocale() should be used directly. [1] However, gtk_init() automatically does this, so there is typically no point in calling this function. [1]: https://gitlab.gnome.org/GNOME/gtk/-/blob/2.24.33/gtk/gtkmain.c#L1152 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove gtk_tree_view_set_rules_hint() callsMasahiro Yamada
The use of the this function is not recommended, and it has been deprecated since GTK 3.14. [1]: https://gitlab.gnome.org/GNOME/gtk/-/blob/3.14.0/gtk/gtktreeview.c#L11891 Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove gtk_widget_realize() callsMasahiro Yamada
This function is primarily used in widget implementations, and isn't very useful otherwise. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove gtk_tree_view_column_set_visible() callsMasahiro Yamada
The columns are visible by default. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove unneeded gtk_tree_view_set_headers_visible() callsMasahiro Yamada
The headers are visible by default. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: remove meaningless code in init_main_window()Masahiro Yamada
The 'widget' variable is set, but not used in later code. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org>
2025-07-01kconfig: gconf: remove empty if-blockMasahiro Yamada
This if-block is empty. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org>
2025-07-01kconfig: gconf: remove old #ifdef GTK_CHECK_VERSIONMasahiro Yamada
Remove old code. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-07-01kconfig: gconf: always destroy dialog in on_window1_delete_event()Masahiro Yamada
When gtk_dialog_run() returns GTK_RESPONSE_YES or GTK_RESPONSE_NO, gtk_widget_destroy() is not called, resulting in a memory leak. It is better to always destroy the dialog, even if the application is about to exit. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org>
2025-06-30kconfig: gconf: fix potential memory leak in renderer_edited()Masahiro Yamada
If gtk_tree_model_get_iter() fails, gtk_tree_path_free() is not called. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org>
2025-06-30kconfig: gconf: make columns resizableMasahiro Yamada
The variable "resizeable" is a typo and always set to FALSE, resulting in dead code in init_right_tree(). It is unclear column resizing should be disabled. Enable it. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
2025-06-30kconfig: re-add menu_get_parent_menu() that returns parent menuMasahiro Yamada
This helper returns the parent menu, or NULL if there is no parent. The main difference from the previous version is that it always returns the parent menu even when the given argument is itself a menu. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
2025-06-30kconfig: rename menu_get_parent_menu() to menu_get_menu_or_parent_menu()Masahiro Yamada
The current menu_get_parent_menu() does not always return the parent menu; if the given argument is itself a menu, it returns that menu. Rename this function to better reflect this behavior. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
2025-06-30kconfig: qconf: show selected choice in the Value columnMasahiro Yamada
It is useful to display the selected choice's value in the Value column. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
2025-06-30kconfig: qconf: do not show checkbox icon for choiceMasahiro Yamada
When you select "Show All Options" or "Show Prompt Options", choice entries display a check box icon, but this has no point because choice is always y since commit fde192511bdb ("kconfig: remove tristate choice support"). Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org>
2025-06-28kconfig: set MENU_CHANGED to choice when the selected member is changedMasahiro Yamada
In gconf, choice entries display the selected symbol in the 'Value' column, but it is not updated when the selected symbol is changed. Set the MENU_CHANGED flag, so it is updated. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-06-24kconfig: lxdialog: fix 'space' to (de)select optionsYann E. MORIN
In case a menu has comment without letters/numbers (eg. characters matching the regexp '^[^[:alpha:][:digit:]]+$', for example - or *), hitting space will cycle through those comments, rather than selecting/deselecting the currently-highlighted option. This is the behaviour of hitting any letter/digit: jump to the next option which prompt starts with that letter. The only letters that do not behave as such are 'y' 'm' and 'n'. Prompts that start with one of those three letters are instead matched on the first letter that is not 'y', 'm' or 'n'. Fix that by treating 'space' as we treat y/m/n, ie. as an action key, not as shortcut to jump to prompt. Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Cherniaev Andrei <dungeonlords789@naver.com> [masahiro: took from Buildroot, adjusted the commit subject] Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-06-18kconfig: use memcmp instead of deprecated bcmpThomas Meyer
bcmp() was removed in POSIX.1-2008. This commit replaces bcmp() with memcmp(). This allows Kconfig to link with C libraries that do not provide bcmp(), such as Android bionic libc. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Reviewed-by: Miguel Ojeda <ojeda@kernel.org> Reported-by: Abhigyan Ghosh <zscript.team.zs@gmail.com> [masahiro: update commit description] Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-06-06kconfig: introduce menu type enumMasahiro Yamada
Currently, menu->prompt->type is checked to distinguish "comment" (P_COMMENT) and "menu" (P_MENU) entries from regular "config" entries. This is odd because P_COMMENT and P_MENU are not properties. This commit introduces menu type enum to distinguish menu types more naturally. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-04-06kconfig: merge_config: use an empty file as initfileDaniel Gomez
The scripts/kconfig/merge_config.sh script requires an existing $INITFILE (or the $1 argument) as a base file for merging Kconfig fragments. However, an empty $INITFILE can serve as an initial starting point, later referenced by the KCONFIG_ALLCONFIG Makefile variable if -m is not used. This variable can point to any configuration file containing preset config symbols (the merged output) as stated in Documentation/kbuild/kconfig.rst. When -m is used $INITFILE will contain just the merge output requiring the user to run make (i.e. KCONFIG_ALLCONFIG=<$INITFILE> make <allnoconfig/alldefconfig> or make olddefconfig). Instead of failing when `$INITFILE` is missing, create an empty file and use it as the starting point for merges. Signed-off-by: Daniel Gomez <da.gomez@samsung.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-03-15kconfig: remove unnecessary cast in sym_get_string()Masahiro Yamada
The explicit casting from (char *) to (const char *) is unneeded. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-03-15kconfig: do not clear SYMBOL_VALID when reading include/config/auto.confMasahiro Yamada
When conf_read_simple() is called with S_DEF_AUTO, it is meant to read previous symbol values from include/config/auto.conf to determine which include/config/* files should be touched. This process should not modify the current symbol status in any way. However, conf_touch_deps() currently invalidates all symbol values and recalculates them, which is totally unneeded. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-01-30kconfig: fix memory leak in sym_warn_unmet_dep()Masahiro Yamada
The string allocated in sym_warn_unmet_dep() is never freed, leading to a memory leak when an unmet dependency is detected. Fixes: f8f69dc0b4e0 ("kconfig: make unmet dependency warnings readable") Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Petr Vorel <pvorel@suse.cz>
2025-01-30kconfig: fix file name in warnings when loading KCONFIG_DEFCONFIG_LISTMasahiro Yamada
Most 'make *config' commands use .config as the base configuration file. When .config does not exist, Kconfig tries to load a file listed in KCONFIG_DEFCONFIG_LIST instead. However, since commit b75b0a819af9 ("kconfig: change defconfig_list option to environment variable"), warning messages have displayed an incorrect file name in such cases. Below is a demonstration using Debian Trixie. While loading /boot/config-6.12.9-amd64, the warning messages incorrectly show .config as the file name. With this commit, the correct file name is displayed in warnings. [Before] $ rm -f .config $ make config # # using defaults found in /boot/config-6.12.9-amd64 # .config:6804:warning: symbol value 'm' invalid for FB_BACKLIGHT .config:9895:warning: symbol value 'm' invalid for ANDROID_BINDER_IPC [After] $ rm -f .config $ make config # # using defaults found in /boot/config-6.12.9-amd64 # /boot/config-6.12.9-amd64:6804:warning: symbol value 'm' invalid for FB_BACKLIGHT /boot/config-6.12.9-amd64:9895:warning: symbol value 'm' invalid for ANDROID_BINDER_IPC Fixes: b75b0a819af9 ("kconfig: change defconfig_list option to environment variable") Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-01-10kconfig: qconf: use preferred form of QString APIRolf Eike Beer
A QString constructed from a character literal of length 0, i.e. "", is not "null" for historical reasons. This does not matter here so use the preferred method isEmpty() instead. Also directly construct empty QString objects instead of passing in an empty character literal that has to be parsed into an empty object first. Signed-off-by: Rolf Eike Beer <eb@emlix.com> Link: https://doc.qt.io/qt-6/qstring.html#distinction-between-null-and-empty-strings Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-01-10kbuild: suppress stdout from merge_config for silent buildsMasahiro Yamada
merge_config does not respect the Make's -s (--silent) option. Let's sink the stdout from merge_config for silent builds. This commit does not cater to the direct invocation of merge_config.sh (e.g. arch/mips/Makefile). Reported-by: Leon Romanovsky <leon@kernel.org> Closes: https://lore.kernel.org/all/e534ce33b0e1060eb85ece8429810f087b034c88.1733234008.git.leonro@nvidia.com/ Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Tested-by: Leon Romanovsky <leon@kernel.org> Reviewed-by: Nathan Chancellor <nathan@kernel.org>
2024-11-06kconfig: document the positional argument in the help messageMasahiro Yamada
The positional argument specifies the top-level Kconfig. Include this information in the help message. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2024-11-06kconfig: qconf: remove unnecessary mode check in ConfigItem::updateMenu()Masahiro Yamada
The P_MENU entries ("menu" and "menuconfig") are never displayed in symbolMode. The condition, list->mode == symbolMode, is never met here. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>