ia64/linux-2.6.18-xen.hg

changeset 694:92094d768241

Import upstream git commit 35060b6a9a4e1c89bc6fbea61090e302dbc61847

[PATCH] i386: Don't delete cpu_devs data to identify different x86
types in late_initcall

In arch/i386/cpu/common.c there is:
cpu_devs[X86_VENDOR_INTEL]
cpu_devs[X86_VENDOR_CYRIX]
cpu_devs[X86_VENDOR_AMD]
...
They are all filled with data early.
The data (struct) got set to NULL for all, but Intel in different
late_initcall (exit_cpu_vendor) calls.
I don't see what sense this makes at all, maybe something that got
forgotten with the HOTPLUG_CPU extenstions?

Please check/review whether initdata, cpuinitdata is still ok and
this still works with HOTPLUG_CPU and without, it should...

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: davej@redhat.com
author Keir Fraser <keir.fraser@citrix.com>
date Wed Oct 08 14:13:52 2008 +0100 (2008-10-08)
parents fe3cd38ff06a
children 75622c7943a9
files arch/i386/kernel/cpu/amd.c arch/i386/kernel/cpu/centaur.c arch/i386/kernel/cpu/cyrix.c arch/i386/kernel/cpu/nexgen.c arch/i386/kernel/cpu/rise.c arch/i386/kernel/cpu/transmeta.c arch/i386/kernel/cpu/umc.c
line diff
     1.1 --- a/arch/i386/kernel/cpu/amd.c	Wed Oct 08 14:13:28 2008 +0100
     1.2 +++ b/arch/i386/kernel/cpu/amd.c	Wed Oct 08 14:13:52 2008 +0100
     1.3 @@ -284,13 +284,3 @@ int __init amd_init_cpu(void)
     1.4  	cpu_devs[X86_VENDOR_AMD] = &amd_cpu_dev;
     1.5  	return 0;
     1.6  }
     1.7 -
     1.8 -//early_arch_initcall(amd_init_cpu);
     1.9 -
    1.10 -static int __init amd_exit_cpu(void)
    1.11 -{
    1.12 -	cpu_devs[X86_VENDOR_AMD] = NULL;
    1.13 -	return 0;
    1.14 -}
    1.15 -
    1.16 -late_initcall(amd_exit_cpu);
     2.1 --- a/arch/i386/kernel/cpu/centaur.c	Wed Oct 08 14:13:28 2008 +0100
     2.2 +++ b/arch/i386/kernel/cpu/centaur.c	Wed Oct 08 14:13:52 2008 +0100
     2.3 @@ -469,13 +469,3 @@ int __init centaur_init_cpu(void)
     2.4  	cpu_devs[X86_VENDOR_CENTAUR] = &centaur_cpu_dev;
     2.5  	return 0;
     2.6  }
     2.7 -
     2.8 -//early_arch_initcall(centaur_init_cpu);
     2.9 -
    2.10 -static int __init centaur_exit_cpu(void)
    2.11 -{
    2.12 -	cpu_devs[X86_VENDOR_CENTAUR] = NULL;
    2.13 -	return 0;
    2.14 -}
    2.15 -
    2.16 -late_initcall(centaur_exit_cpu);
     3.1 --- a/arch/i386/kernel/cpu/cyrix.c	Wed Oct 08 14:13:28 2008 +0100
     3.2 +++ b/arch/i386/kernel/cpu/cyrix.c	Wed Oct 08 14:13:52 2008 +0100
     3.3 @@ -443,16 +443,6 @@ int __init cyrix_init_cpu(void)
     3.4  	return 0;
     3.5  }
     3.6  
     3.7 -//early_arch_initcall(cyrix_init_cpu);
     3.8 -
     3.9 -static int __init cyrix_exit_cpu(void)
    3.10 -{
    3.11 -	cpu_devs[X86_VENDOR_CYRIX] = NULL;
    3.12 -	return 0;
    3.13 -}
    3.14 -
    3.15 -late_initcall(cyrix_exit_cpu);
    3.16 -
    3.17  static struct cpu_dev nsc_cpu_dev __cpuinitdata = {
    3.18  	.c_vendor	= "NSC",
    3.19  	.c_ident 	= { "Geode by NSC" },
    3.20 @@ -466,12 +456,3 @@ int __init nsc_init_cpu(void)
    3.21  	return 0;
    3.22  }
    3.23  
    3.24 -//early_arch_initcall(nsc_init_cpu);
    3.25 -
    3.26 -static int __init nsc_exit_cpu(void)
    3.27 -{
    3.28 -	cpu_devs[X86_VENDOR_NSC] = NULL;
    3.29 -	return 0;
    3.30 -}
    3.31 -
    3.32 -late_initcall(nsc_exit_cpu);
     4.1 --- a/arch/i386/kernel/cpu/nexgen.c	Wed Oct 08 14:13:28 2008 +0100
     4.2 +++ b/arch/i386/kernel/cpu/nexgen.c	Wed Oct 08 14:13:52 2008 +0100
     4.3 @@ -59,13 +59,3 @@ int __init nexgen_init_cpu(void)
     4.4  	cpu_devs[X86_VENDOR_NEXGEN] = &nexgen_cpu_dev;
     4.5  	return 0;
     4.6  }
     4.7 -
     4.8 -//early_arch_initcall(nexgen_init_cpu);
     4.9 -
    4.10 -static int __init nexgen_exit_cpu(void)
    4.11 -{
    4.12 -	cpu_devs[X86_VENDOR_NEXGEN] = NULL;
    4.13 -	return 0;
    4.14 -}
    4.15 -
    4.16 -late_initcall(nexgen_exit_cpu);
     5.1 --- a/arch/i386/kernel/cpu/rise.c	Wed Oct 08 14:13:28 2008 +0100
     5.2 +++ b/arch/i386/kernel/cpu/rise.c	Wed Oct 08 14:13:52 2008 +0100
     5.3 @@ -50,12 +50,3 @@ int __init rise_init_cpu(void)
     5.4  	return 0;
     5.5  }
     5.6  
     5.7 -//early_arch_initcall(rise_init_cpu);
     5.8 -
     5.9 -static int __init rise_exit_cpu(void)
    5.10 -{
    5.11 -	cpu_devs[X86_VENDOR_RISE] = NULL;
    5.12 -	return 0;
    5.13 -}
    5.14 -
    5.15 -late_initcall(rise_exit_cpu);
     6.1 --- a/arch/i386/kernel/cpu/transmeta.c	Wed Oct 08 14:13:28 2008 +0100
     6.2 +++ b/arch/i386/kernel/cpu/transmeta.c	Wed Oct 08 14:13:52 2008 +0100
     6.3 @@ -110,13 +110,3 @@ int __init transmeta_init_cpu(void)
     6.4  	cpu_devs[X86_VENDOR_TRANSMETA] = &transmeta_cpu_dev;
     6.5  	return 0;
     6.6  }
     6.7 -
     6.8 -//early_arch_initcall(transmeta_init_cpu);
     6.9 -
    6.10 -static int __init transmeta_exit_cpu(void)
    6.11 -{
    6.12 -	cpu_devs[X86_VENDOR_TRANSMETA] = NULL;
    6.13 -	return 0;
    6.14 -}
    6.15 -
    6.16 -late_initcall(transmeta_exit_cpu);
     7.1 --- a/arch/i386/kernel/cpu/umc.c	Wed Oct 08 14:13:28 2008 +0100
     7.2 +++ b/arch/i386/kernel/cpu/umc.c	Wed Oct 08 14:13:52 2008 +0100
     7.3 @@ -24,13 +24,3 @@ int __init umc_init_cpu(void)
     7.4  	cpu_devs[X86_VENDOR_UMC] = &umc_cpu_dev;
     7.5  	return 0;
     7.6  }
     7.7 -
     7.8 -//early_arch_initcall(umc_init_cpu);
     7.9 -
    7.10 -static int __init umc_exit_cpu(void)
    7.11 -{
    7.12 -	cpu_devs[X86_VENDOR_UMC] = NULL;
    7.13 -	return 0;
    7.14 -}
    7.15 -
    7.16 -late_initcall(umc_exit_cpu);