Mailing List Archive

[PATCH 4/4] Import upstream git commit 35060b6a9a4e1c89bc6fbea61090e302dbc61847
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

diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/amd.c
--- a/arch/i386/kernel/cpu/amd.c Wed Oct 08 11:36:33 2008 +0100
+++ b/arch/i386/kernel/cpu/amd.c Wed Oct 08 13:06:36 2008 +0100
@@ -284,13 +284,3 @@ int __init amd_init_cpu(void)
cpu_devs[X86_VENDOR_AMD] = &amd_cpu_dev;
return 0;
}
-
-//early_arch_initcall(amd_init_cpu);
-
-static int __init amd_exit_cpu(void)
-{
- cpu_devs[X86_VENDOR_AMD] = NULL;
- return 0;
-}
-
-late_initcall(amd_exit_cpu);
diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/centaur.c
--- a/arch/i386/kernel/cpu/centaur.c Wed Oct 08 11:36:33 2008 +0100
+++ b/arch/i386/kernel/cpu/centaur.c Wed Oct 08 13:06:36 2008 +0100
@@ -469,13 +469,3 @@ int __init centaur_init_cpu(void)
cpu_devs[X86_VENDOR_CENTAUR] = &centaur_cpu_dev;
return 0;
}
-
-//early_arch_initcall(centaur_init_cpu);
-
-static int __init centaur_exit_cpu(void)
-{
- cpu_devs[X86_VENDOR_CENTAUR] = NULL;
- return 0;
-}
-
-late_initcall(centaur_exit_cpu);
diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/cyrix.c
--- a/arch/i386/kernel/cpu/cyrix.c Wed Oct 08 11:36:33 2008 +0100
+++ b/arch/i386/kernel/cpu/cyrix.c Wed Oct 08 13:06:36 2008 +0100
@@ -443,16 +443,6 @@ int __init cyrix_init_cpu(void)
return 0;
}

-//early_arch_initcall(cyrix_init_cpu);
-
-static int __init cyrix_exit_cpu(void)
-{
- cpu_devs[X86_VENDOR_CYRIX] = NULL;
- return 0;
-}
-
-late_initcall(cyrix_exit_cpu);
-
static struct cpu_dev nsc_cpu_dev __cpuinitdata = {
.c_vendor = "NSC",
.c_ident = { "Geode by NSC" },
@@ -466,12 +456,3 @@ int __init nsc_init_cpu(void)
return 0;
}

-//early_arch_initcall(nsc_init_cpu);
-
-static int __init nsc_exit_cpu(void)
-{
- cpu_devs[X86_VENDOR_NSC] = NULL;
- return 0;
-}
-
-late_initcall(nsc_exit_cpu);
diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/nexgen.c
--- a/arch/i386/kernel/cpu/nexgen.c Wed Oct 08 11:36:33 2008 +0100
+++ b/arch/i386/kernel/cpu/nexgen.c Wed Oct 08 13:06:36 2008 +0100
@@ -59,13 +59,3 @@ int __init nexgen_init_cpu(void)
cpu_devs[X86_VENDOR_NEXGEN] = &nexgen_cpu_dev;
return 0;
}
-
-//early_arch_initcall(nexgen_init_cpu);
-
-static int __init nexgen_exit_cpu(void)
-{
- cpu_devs[X86_VENDOR_NEXGEN] = NULL;
- return 0;
-}
-
-late_initcall(nexgen_exit_cpu);
diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/rise.c
--- a/arch/i386/kernel/cpu/rise.c Wed Oct 08 11:36:33 2008 +0100
+++ b/arch/i386/kernel/cpu/rise.c Wed Oct 08 13:06:36 2008 +0100
@@ -50,12 +50,3 @@ int __init rise_init_cpu(void)
return 0;
}

-//early_arch_initcall(rise_init_cpu);
-
-static int __init rise_exit_cpu(void)
-{
- cpu_devs[X86_VENDOR_RISE] = NULL;
- return 0;
-}
-
-late_initcall(rise_exit_cpu);
diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/transmeta.c
--- a/arch/i386/kernel/cpu/transmeta.c Wed Oct 08 11:36:33 2008 +0100
+++ b/arch/i386/kernel/cpu/transmeta.c Wed Oct 08 13:06:36 2008 +0100
@@ -110,13 +110,3 @@ int __init transmeta_init_cpu(void)
cpu_devs[X86_VENDOR_TRANSMETA] = &transmeta_cpu_dev;
return 0;
}
-
-//early_arch_initcall(transmeta_init_cpu);
-
-static int __init transmeta_exit_cpu(void)
-{
- cpu_devs[X86_VENDOR_TRANSMETA] = NULL;
- return 0;
-}
-
-late_initcall(transmeta_exit_cpu);
diff -r 904bab1169d5 -r 3be554b47704 arch/i386/kernel/cpu/umc.c
--- a/arch/i386/kernel/cpu/umc.c Wed Oct 08 11:36:33 2008 +0100
+++ b/arch/i386/kernel/cpu/umc.c Wed Oct 08 13:06:36 2008 +0100
@@ -29,13 +29,3 @@ int __init umc_init_cpu(void)
cpu_devs[X86_VENDOR_UMC] = &umc_cpu_dev;
return 0;
}
-
-//early_arch_initcall(umc_init_cpu);
-
-static int __init umc_exit_cpu(void)
-{
- cpu_devs[X86_VENDOR_UMC] = NULL;
- return 0;
-}
-
-late_initcall(umc_exit_cpu);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel