Commit 329f70c5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'kbuild-fixes-v6.10-2' of...

Merge tag 'kbuild-fixes-v6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fixes from Masahiro Yamada:

 - Fix the initial state of the save button in 'make gconfig'

 - Improve the Kconfig documentation

 - Fix a Kconfig bug regarding property visibility

 - Fix build breakage for systems where 'sed' is not installed in /bin

 - Fix a false warning about missing MODULE_DESCRIPTION()

* tag 'kbuild-fixes-v6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  modpost: do not warn about missing MODULE_DESCRIPTION() for vmlinux.o
  kbuild: explicitly run mksysmap as sed script from link-vmlinux.sh
  kconfig: remove wrong expr_trans_bool()
  kconfig: doc: document behavior of 'select' and 'imply' followed by 'if'
  kconfig: doc: fix a typo in the note about 'imply'
  kconfig: gconf: give a proper initial state to the Save button
  kconfig: remove unneeded code for user-supplied values being out of range
parents 1e7ccdd3 9185afea
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -150,6 +150,12 @@ applicable everywhere (see syntax).
	That will limit the usefulness but on the other hand avoid
	the illegal configurations all over.

	If "select" <symbol> is followed by "if" <expr>, <symbol> will be
	selected by the logical AND of the value of the current menu symbol
	and <expr>. This means, the lower limit can be downgraded due to the
	presence of "if" <expr>. This behavior may seem weird, but we rely on
	it. (The future of this behavior is undecided.)

- weak reverse dependencies: "imply" <symbol> ["if" <expr>]

  This is similar to "select" as it enforces a lower limit on another
@@ -184,7 +190,7 @@ applicable everywhere (see syntax).
  ability to hook into a secondary subsystem while allowing the user to
  configure that subsystem out without also having to unset these drivers.

  Note: If the combination of FOO=y and BAR=m causes a link error,
  Note: If the combination of FOO=y and BAZ=m causes a link error,
  you can guard the function call with IS_REACHABLE()::

	foo_init()
@@ -202,6 +208,10 @@ applicable everywhere (see syntax).
	imply BAR
	imply BAZ

  Note: If "imply" <symbol> is followed by "if" <expr>, the default of <symbol>
  will be the logical AND of the value of the current menu symbol and <expr>.
  (The future of this behavior is undecided.)

- limiting menu display: "visible if" <expr>

  This attribute is only applicable to menu blocks, if the condition is
+0 −13
Original line number Diff line number Diff line
@@ -533,19 +533,6 @@ int conf_read(const char *name)
			 */
			if (sym->visible == no && !conf_unsaved)
				sym->flags &= ~SYMBOL_DEF_USER;
			switch (sym->type) {
			case S_STRING:
			case S_INT:
			case S_HEX:
				/* Reset a string value if it's out of range */
				if (sym_string_within_range(sym, sym->def[S_DEF_USER].val))
					break;
				sym->flags &= ~SYMBOL_VALID;
				conf_unsaved++;
				break;
			default:
				break;
			}
		}
	}

+0 −29
Original line number Diff line number Diff line
@@ -396,35 +396,6 @@ static struct expr *expr_eliminate_yn(struct expr *e)
	return e;
}

/*
 * bool FOO!=n => FOO
 */
struct expr *expr_trans_bool(struct expr *e)
{
	if (!e)
		return NULL;
	switch (e->type) {
	case E_AND:
	case E_OR:
	case E_NOT:
		e->left.expr = expr_trans_bool(e->left.expr);
		e->right.expr = expr_trans_bool(e->right.expr);
		break;
	case E_UNEQUAL:
		// FOO!=n -> FOO
		if (e->left.sym->type == S_TRISTATE) {
			if (e->right.sym == &symbol_no) {
				e->type = E_SYMBOL;
				e->right.sym = NULL;
			}
		}
		break;
	default:
		;
	}
	return e;
}

/*
 * e1 || e2 -> ?
 */
+0 −1
Original line number Diff line number Diff line
@@ -284,7 +284,6 @@ void expr_free(struct expr *e);
void expr_eliminate_eq(struct expr **ep1, struct expr **ep2);
int expr_eq(struct expr *e1, struct expr *e2);
tristate expr_calc_value(struct expr *e);
struct expr *expr_trans_bool(struct expr *e);
struct expr *expr_eliminate_dups(struct expr *e);
struct expr *expr_transform(struct expr *e);
int expr_contains_symbol(struct expr *dep, struct symbol *sym);
+2 −1
Original line number Diff line number Diff line
@@ -1422,7 +1422,6 @@ int main(int ac, char *av[])

	conf_parse(name);
	fixup_rootmenu(&rootmenu);
	conf_read(NULL);

	/* Load the interface and connect signals */
	init_main_window(glade_file);
@@ -1430,6 +1429,8 @@ int main(int ac, char *av[])
	init_left_tree();
	init_right_tree();

	conf_read(NULL);

	switch (view_mode) {
	case SINGLE_VIEW:
		display_tree_part();
Loading