[PATCH] i386: remove redundant generic_identify() calls when identifying cpus
authorMagnus Damm <magnus@valinux.co.jp>
Tue, 26 Sep 2006 08:52:36 +0000 (10:52 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Tue, 26 Sep 2006 08:52:36 +0000 (10:52 +0200)
cpu_dev->c_identify is only called from arch/i386/common.c:identify_cpu(), and
this after generic_identify() already has been called. There is no need to call
this function twice and hook it in c_identify - but I may be wrong, please
double check before applying.

This patch also removes generic_identify() from cpu.h to avoid unnecessary
future nesting.

Signed-off-by: Magnus Damm <magnus@valinux.co.jp>
Signed-off-by: Andi Kleen <ak@suse.de>
arch/i386/kernel/cpu/amd.c
arch/i386/kernel/cpu/common.c
arch/i386/kernel/cpu/cpu.h
arch/i386/kernel/cpu/cyrix.c
arch/i386/kernel/cpu/intel.c
arch/i386/kernel/cpu/nexgen.c
arch/i386/kernel/cpu/transmeta.c

index e6a2d6b80cdae8a84e72566da1642bff59a7dc7a..d6e7778bac708bbfb7a328c3daac816c31281c80 100644 (file)
@@ -275,7 +275,6 @@ static struct cpu_dev amd_cpu_dev __initdata = {
                },
        },
        .c_init         = init_amd,
-       .c_identify     = generic_identify,
        .c_size_cache   = amd_size_cache,
 };
 
index 730a7ab750095d73393590d4015dfa33063c3ab4..24ac51a023781fab4a5168cf18644d18bb76a507 100644 (file)
@@ -265,7 +265,7 @@ static void __init early_cpu_detect(void)
        }
 }
 
-void __cpuinit generic_identify(struct cpuinfo_x86 * c)
+static void __cpuinit generic_identify(struct cpuinfo_x86 * c)
 {
        u32 tfms, xlvl;
        int ebx;
index 5a1d4f163e84d6ff75a28aa91c6c65e3b53a717a..2f6432cef6ffb68c4bd9391f34313d20ca66cdb1 100644 (file)
@@ -24,7 +24,5 @@ extern struct cpu_dev * cpu_devs [X86_VENDOR_NUM];
 extern int get_model_name(struct cpuinfo_x86 *c);
 extern void display_cacheinfo(struct cpuinfo_x86 *c);
 
-extern void generic_identify(struct cpuinfo_x86 * c);
-
 extern void early_intel_workaround(struct cpuinfo_x86 *c);
 
index f03b7f94c304af1cc742745d439fb4b72eae1e6e..bb02ed1fe56017588d80eebfa8e80addc458abc4 100644 (file)
@@ -427,7 +427,6 @@ static void cyrix_identify(struct cpuinfo_x86 * c)
                        local_irq_restore(flags);
                }
        }
-       generic_identify(c);
 }
 
 static struct cpu_dev cyrix_cpu_dev __initdata = {
@@ -457,7 +456,6 @@ static struct cpu_dev nsc_cpu_dev __initdata = {
        .c_vendor       = "NSC",
        .c_ident        = { "Geode by NSC" },
        .c_init         = init_nsc,
-       .c_identify     = generic_identify,
 };
 
 int __init nsc_init_cpu(void)
index 5a2e270924b13727f1411eb11dea7a0f114e7cce..26243e019d1136699d1e66c71b0da91d20196388 100644 (file)
@@ -263,7 +263,6 @@ static struct cpu_dev intel_cpu_dev __cpuinitdata = {
                },
        },
        .c_init         = init_intel,
-       .c_identify     = generic_identify,
        .c_size_cache   = intel_size_cache,
 };
 
index ad87fa58058d574c7eaa431b2497f82ff60156a8..df188bfd759b51f70352192a3a653249775417e7 100644 (file)
@@ -38,7 +38,6 @@ static void __init nexgen_identify(struct cpuinfo_x86 * c)
        if ( deep_magic_nexgen_probe() ) {
                strcpy(c->x86_vendor_id, "NexGenDriven");
        }
-       generic_identify(c);
 }
 
 static struct cpu_dev nexgen_cpu_dev __initdata = {
index 7214c9b577ab91329ecdb261926e2cdde6e729fd..4027c369bc9038cbba0ff6864543a3a16f5a1296 100644 (file)
@@ -88,7 +88,6 @@ static void __init init_transmeta(struct cpuinfo_x86 *c)
 static void __init transmeta_identify(struct cpuinfo_x86 * c)
 {
        u32 xlvl;
-       generic_identify(c);
 
        /* Transmeta-defined flags: level 0x80860001 */
        xlvl = cpuid_eax(0x80860000);