[tip: x86/cleanups] x86/cpu/topology: Consolidate AMD and Hygon cases in parse_topology()

tip-bot2 for Wei Wang posted 1 patch 2 hours ago
arch/x86/kernel/cpu/topology_common.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
[tip: x86/cleanups] x86/cpu/topology: Consolidate AMD and Hygon cases in parse_topology()
Posted by tip-bot2 for Wei Wang 2 hours ago
The following commit has been merged into the x86/cleanups branch of tip:

Commit-ID:     6a9fe1ad908df12ef71dea12373f25826ea29a8d
Gitweb:        https://git.kernel.org/tip/6a9fe1ad908df12ef71dea12373f25826ea29a8d
Author:        Wei Wang <wei.w.wang@hotmail.com>
AuthorDate:    Mon, 23 Mar 2026 16:07:19 +08:00
Committer:     Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Mon, 23 Mar 2026 16:25:26 +01:00

x86/cpu/topology: Consolidate AMD and Hygon cases in parse_topology()

Merge the two separate switch cases for AMD and Hygon as they share the
common cpu_parse_topology_amd().

Also drop the IS_ENABLED(CONFIG_CPU_SUP_AMD/HYGON) guards, because
1) they are dead code: when a vendor's CONFIG_CPU_SUP_* is disabled, its
   vendor detection code (in amd.c / hygon.c) is not compiled, so
   x86_vendor will never be set to X86_VENDOR_AMD / X86_VENDOR_HYGON,
   instead it will default to X86_VENDOR_UNKNOWN and those switch cases
   are unreachable.
2) topology_amd.o is always built (obj-y), so cpu_parse_topology_amd() is
   always available regardless of CPU_SUP_* configuration.

Signed-off-by: Wei Wang <wei.w.wang@hotmail.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Yongwei Xu <xuyongwei@open-hieco.net>
Link: https://patch.msgid.link/SI2PR01MB4393D6B7E17AB05612AEE925DC4BA@SI2PR01MB4393.apcprd01.prod.exchangelabs.com
---
 arch/x86/kernel/cpu/topology_common.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/cpu/topology_common.c b/arch/x86/kernel/cpu/topology_common.c
index 7162579..d0d79d5 100644
--- a/arch/x86/kernel/cpu/topology_common.c
+++ b/arch/x86/kernel/cpu/topology_common.c
@@ -157,8 +157,8 @@ static void parse_topology(struct topo_scan *tscan, bool early)
 
 	switch (c->x86_vendor) {
 	case X86_VENDOR_AMD:
-		if (IS_ENABLED(CONFIG_CPU_SUP_AMD))
-			cpu_parse_topology_amd(tscan);
+	case X86_VENDOR_HYGON:
+		cpu_parse_topology_amd(tscan);
 		break;
 	case X86_VENDOR_CENTAUR:
 	case X86_VENDOR_ZHAOXIN:
@@ -170,10 +170,6 @@ static void parse_topology(struct topo_scan *tscan, bool early)
 		if (c->cpuid_level >= 0x1a)
 			c->topo.cpu_type = cpuid_eax(0x1a);
 		break;
-	case X86_VENDOR_HYGON:
-		if (IS_ENABLED(CONFIG_CPU_SUP_HYGON))
-			cpu_parse_topology_amd(tscan);
-		break;
 	}
 }