LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Roman Zippel <zippel@linux-m68k.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] kconfig: use $K64BIT to set 64BIT with all*config targets
Date: Wed, 14 Nov 2007 23:08:40 +0100	[thread overview]
Message-ID: <20071114220840.GB10920@uranus.ravnborg.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0711142116500.1818@scrub.home>

Hi Roman

On Wed, Nov 14, 2007 at 09:57:32PM +0100, Roman Zippel wrote:
> Hi,
> 
> On Sat, 10 Nov 2007, Sam Ravnborg wrote:
> 
> > +	if (p) {
> > +		char warning[100];
> > +		sprintf(warning, "Environment variable (%s = \"%s\")", env, p);
> > +		conf_filename = warning;
> > +		def_flags = SYMBOL_DEF << def;
> > +		if (def == S_DEF_USER) {
> > +			sym = sym_find(symname);
> > +			if (!sym)
> > +				return 1;
> > +		} else {
> > +			sym = sym_lookup(symname, 0);
> > +			if (sym->type == S_UNKNOWN)
> > +				sym->type = S_OTHER;
> > +		}
> > +		conf_set_sym_val(sym, def, def_flags, p);
> > +	}
> > +	return 0;
> 
> This is more complex than necessary, this should be enough:
> 
> 	sym = sym_find(symname);
> 	if (sym)
> 		sym_set_string_value(sym, p);
> 
> This is not a direct user interface, so the potential stricter error 
> checking is not really needed.
The value can be supplied on the command-line so we need to validate input.
The code is a copy of what happen when reading a all.config file and
the functionality should be equal.
Can we make that part simpler too?

By the way - I have never understood the purpose of the flags (S_DEF_USER etc.)
Can we have a few comments added to their definition?

> In general I think it's problematic that this is only checked, when the 
> config system is called, i.e. with a configured kernel adding ARCH would 
> have no effect, what makes this more confusing is that one can later omit 
> the ARCH variable, since it's saved in the .config.

The future plan is to set the architecture as part of the configuration step
and not by ARCH=. The ARCH= notation will continue to be supported
but will merely be a hint about the desired architecture.

The only place where it will play a real effect is when generating
allnoconfig, allyesconfig, allmodconfig, randconfig.

Some consistency check will likely be added - but a pure 'make' will
build the kernel with the configured ARCH and the configured CROSS_COMPILE
setting.

One of the blockers are that kconfig does not support more than one prompt
for a choice symbol. Is this something you can fix - or sketch how to fix it?

	Sam

  reply	other threads:[~2007-11-14 22:07 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-10 20:40 [PATCH 0/5] introduce K64BIT=y and backward compatibility ARCH={i386,x86_64} for x86 Sam Ravnborg
2007-11-10 20:43 ` [PATCH] kconfig: factor out code in confdata.c Sam Ravnborg
2007-11-10 20:43   ` [PATCH] kconfig: use $K64BIT to set 64BIT with all*config targets Sam Ravnborg
2007-11-10 20:43     ` [PATCH] x86: Use CONFIG_64BIT to select between 32 and 64 bit in Kconfig Sam Ravnborg
2007-11-10 20:43       ` [PATCH] kconfig: document make K64BIT=y in README Sam Ravnborg
2007-11-10 20:43         ` [PATCH] x86: introduce ARCH=i386,ARCH=x86_64 to select 32/64 bit Sam Ravnborg
2007-11-10 22:23         ` [PATCH] kconfig: document make K64BIT=y in README Randy Dunlap
2007-11-10 22:18       ` [PATCH] x86: Use CONFIG_64BIT to select between 32 and 64 bit in Kconfig Randy Dunlap
2007-11-10 20:55     ` [PATCH] kconfig: use $K64BIT to set 64BIT with all*config targets Guillaume Chazarain
2007-11-11  5:14       ` Adrian Bunk
2007-11-11 12:43         ` Guillaume Chazarain
2007-11-11 13:07           ` Adrian Bunk
2007-11-11 14:59             ` Guillaume Chazarain
2007-11-11 15:30               ` Sam Ravnborg
2007-11-11 15:55                 ` Guillaume Chazarain
2007-11-10 22:16     ` Randy Dunlap
2007-11-10 22:31       ` Sam Ravnborg
2007-11-14 20:57     ` Roman Zippel
2007-11-14 22:08       ` Sam Ravnborg [this message]
2007-11-15 15:43         ` Roman Zippel
2007-11-15 19:25           ` Sam Ravnborg
2007-11-15 19:43             ` Roman Zippel
2007-11-15 20:45               ` Sam Ravnborg
2007-11-15 21:24                 ` Roman Zippel
2007-11-15 22:06                   ` Sam Ravnborg
2007-11-16  1:28                     ` Roman Zippel
2007-11-16  3:44                       ` Randy Dunlap
2007-11-16 13:02                         ` Roman Zippel
2007-11-16  5:41                       ` Sam Ravnborg
2007-11-16 12:54                         ` Roman Zippel
2008-01-06 13:26           ` kconfig: support option env="" [Was: kconfig: use $K64BIT to set 64BIT with all*config targets] Sam Ravnborg
2008-01-14  3:49             ` Roman Zippel
2008-01-14  5:58               ` Sam Ravnborg
2008-01-14  3:50             ` [PATCH 1/3] explicitly introduce expression list Roman Zippel
2008-01-14  3:50             ` [PATCH 2/3] environment symbol support Roman Zippel
2008-01-14  3:51             ` [PATCH 3/3] use environment option Roman Zippel
2007-11-10 22:33 ` [PATCH 0/5] introduce K64BIT=y and backward compatibility ARCH={i386,x86_64} for x86 Randy Dunlap
2007-11-10 22:50   ` Sam Ravnborg
2007-11-11  5:09 ` Adrian Bunk
2007-11-11 11:54   ` Sam Ravnborg
2007-11-12  2:47 ` Roman Zippel
2007-11-12  5:23   ` Sam Ravnborg
2007-11-12 20:54 [PATCH revised] enable make ARCH=x86 (and stay backward compatible) Sam Ravnborg
2007-11-12 21:00 ` [PATCH] x86: unification of cfufreq/Kconfig Sam Ravnborg
2007-11-12 21:00   ` [PATCH] x86: start unification of arch/x86/Kconfig.* Sam Ravnborg
2007-11-12 21:00     ` [PATCH] x86: arch/x86/Kconfig.cpu unification Sam Ravnborg
2007-11-12 21:00       ` [PATCH] x86: add X86_32 dependency to i386 specific symbols in Kconfig.i386 Sam Ravnborg
2007-11-12 21:00         ` [PATCH] x86: add X86_64 dependency to x86_64 specific symbols in Kconfig.x86_64 Sam Ravnborg
2007-11-12 21:00           ` [PATCH] x86: copy x86_64 specific Kconfig symbols to Kconfig.i386 Sam Ravnborg
2007-11-12 21:00             ` [PATCH] x86: move all simple arch settings to Kconfig Sam Ravnborg
2007-11-12 21:00               ` [PATCH] x86: move the rest of the menu's " Sam Ravnborg
2007-11-12 21:00                 ` [PATCH] kconfig: factor out code in confdata.c Sam Ravnborg
2007-11-12 21:00                   ` [PATCH] kconfig: add helper to set config symbol from environment variable Sam Ravnborg
2007-11-12 21:00                     ` [PATCH] kconfig: use $K64BIT to set 64BIT with all*config targets Sam Ravnborg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071114220840.GB10920@uranus.ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=zippel@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).