Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35060b6a authored by Thomas Renninger's avatar Thomas Renninger Committed by Andi Kleen
Browse files

[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: default avatarThomas Renninger <trenn@suse.de>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Cc: davej@redhat.com
parent a3193348
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -319,13 +319,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);
+0 −10
Original line number Diff line number Diff line
@@ -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);
+0 −19
Original line number Diff line number Diff line
@@ -448,16 +448,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" },
@@ -470,12 +460,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);
+0 −10
Original line number Diff line number Diff line
@@ -58,13 +58,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);
+0 −9
Original line number Diff line number Diff line
@@ -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);
Loading