Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6840999b192b1b57d713ddee3761c457a2779036
Commit:     6840999b192b1b57d713ddee3761c457a2779036
Parent:     d9f8bcbf67a0ee67c8cb0734f003dfe916bb5248
Author:     Sam Ravnborg <[EMAIL PROTECTED]>
AuthorDate: Sat Nov 17 15:37:31 2007 +0100
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Sat Nov 17 08:35:43 2007 -0800

    x86: simplify "make ARCH=x86" and fix kconfig all.config
    
    Simplify "make ARCH=x86" and fix kconfig so we again can set 64BIT in
    all.config.
    
    For a fix the diffstat is nice:
     6 files changed, 3 insertions(+), 36 deletions(-)
    
    The patch reverts these commits:
     - 0f855aa64b3f63d35a891510cf7db932a435c116 ("kconfig: add helper to set
       config symbol from environment variable")
     - 2a113281f5cd2febbab21a93c8943f8d3eece4d3 ("kconfig: use $K64BIT to
       set 64BIT with all*config targets")
    
    Roman Zippel pointed out that kconfig supported string compares so
    the additional complexity introduced by the above two patches were
    not needed.
    
    With this patch we have following behaviour:
    
      # make {allno,allyes,allmod,rand}config [ARCH=...]
      option \ host arch      | 32bit         | 64bit
      =====================================================
      ./.                     | 32bit         | 64bit
      ARCH=x86                | 32bit         | 32bit
      ARCH=i386               | 32bit         | 32bit
      ARCH=x86_64             | 64bit         | 64bit
    
    The general rule are that ARCH= and native architecture takes
    precedence over the configuration.
    
    So make ARCH=i386 [whatever] will always build a 32-bit kernel
    no matter what the configuration says.  The configuration will
    be updated to 32-bit if it was configured to 64-bit and the
    other way around.
    
    This behaviour is consistent with previous behaviour so no
    suprises here.
    
    make ARCH=x86 will per default result in a 32-bit kernel but as
    the only ARCH= value x86 allow the user to select between 32-bit
    and 64-bit using menuconfig.
    
    Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]>
    Cc: Roman Zippel <[EMAIL PROTECTED]>
    Cc: Andreas Herrmann <[EMAIL PROTECTED]>
    Cc: Thomas Gleixner <[EMAIL PROTECTED]>
    Cc: Ingo Molnar <[EMAIL PROTECTED]>
    Cc: "H. Peter Anvin" <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 Makefile                    |    4 +---
 README                      |    2 --
 arch/x86/Kconfig            |    4 ++--
 scripts/kconfig/conf.c      |    1 -
 scripts/kconfig/confdata.c  |   27 ---------------------------
 scripts/kconfig/lkc_proto.h |    1 -
 6 files changed, 3 insertions(+), 36 deletions(-)

diff --git a/Makefile b/Makefile
index 7f96930..6d7d7e9 100644
--- a/Makefile
+++ b/Makefile
@@ -200,11 +200,9 @@ SRCARCH    := $(ARCH)
 # Additional ARCH settings for x86
 ifeq ($(ARCH),i386)
         SRCARCH := x86
-        K64BIT  := n
 endif
 ifeq ($(ARCH),x86_64)
         SRCARCH := x86
-        K64BIT  := y
 endif
 
 KCONFIG_CONFIG ?= .config
@@ -341,7 +339,7 @@ KERNELRELEASE = $(shell cat include/config/kernel.release 
2> /dev/null)
 KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
 export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
-export ARCH SRCARCH K64BIT CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD 
CC
+export ARCH SRCARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC
 export CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE
 export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
 
diff --git a/README b/README
index 592f8a2..159912c 100644
--- a/README
+++ b/README
@@ -194,8 +194,6 @@ CONFIGURING the kernel:
    "make *config" checks for a file named "all{yes/mod/no/random}.config"
    for symbol values that are to be forced.  If this file is not found,
    it checks for a file named "all.config" to contain forced values.
-   Finally it checks the environment variable K64BIT and if found, sets
-   the config symbol "64BIT" to the value of the K64BIT variable.
    
        NOTES on "make config":
        - having unnecessary drivers will make the kernel bigger, and can
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 1eb5997..368864d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -3,8 +3,8 @@ mainmenu "Linux Kernel Configuration for x86"
 
 # Select 32 or 64 bit
 config 64BIT
-       bool "64-bit kernel"
-       default n
+       bool "64-bit kernel" if ARCH = "x86"
+       default ARCH = "x86_64"
        help
          Say yes to build a 64-bit kernel - formerly known as x86_64
          Say no to build a 32-bit kernel - formerly known as i386
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index c6bee85..a38787a 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -591,7 +591,6 @@ int main(int ac, char **av)
                        conf_read_simple(name, S_DEF_USER);
                else if (!stat("all.config", &tmpstat))
                        conf_read_simple("all.config", S_DEF_USER);
-               conf_set_env_sym("K64BIT", "64BIT", S_DEF_USER);
                break;
        default:
                break;
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index e4fa3f3..e0f402f 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -145,33 +145,6 @@ static int conf_set_sym_val(struct symbol *sym, int def, 
int def_flags, char *p)
        return 0;
 }
 
-/* Read an environment variable and assign the value to the symbol */
-int conf_set_env_sym(const char *env, const char *symname, int def)
-{
-       struct symbol *sym;
-       char *p;
-       int def_flags;
-
-       p = getenv(env);
-       if (p) {
-               char warning[200];
-               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;
-}
-
 int conf_read_simple(const char *name, int def)
 {
        FILE *in = NULL;
diff --git a/scripts/kconfig/lkc_proto.h b/scripts/kconfig/lkc_proto.h
index dca294e..4d09f6d 100644
--- a/scripts/kconfig/lkc_proto.h
+++ b/scripts/kconfig/lkc_proto.h
@@ -1,7 +1,6 @@
 
 /* confdata.c */
 P(conf_parse,void,(const char *name));
-P(conf_set_env_sym,int,(const char *envname, const char *symname, int def));
 P(conf_read,int,(const char *name));
 P(conf_read_simple,int,(const char *name, int));
 P(conf_write,int,(const char *name));
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to