x86/apic: Remove the SET_APIC_ID(x) macro
authorDou Liyang <douly.fnst@cn.fujitsu.com>
Wed, 8 Mar 2017 11:07:50 +0000 (19:07 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 13 Mar 2017 20:28:38 +0000 (21:28 +0100)
The SET_APIC_ID() macro obfusates the code. Remove it to increase
readability and add a comment to the apic struct to document that the
callback is required on 64-bit.

Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
Link: http://lkml.kernel.org/r/1488971270-14359-1-git-send-email-douly.fnst@cn.fujitsu.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/include/asm/apic.h
arch/x86/kernel/apic/apic.c

index 730ef65e83934f5e261c69f2f4d320132aa16306..bdffcd9eab2b27f6e211c3d5932007ca1328e47c 100644 (file)
@@ -252,12 +252,6 @@ static inline int x2apic_enabled(void) { return 0; }
 #define        x2apic_supported()      (0)
 #endif /* !CONFIG_X86_X2APIC */
 
-#ifdef CONFIG_X86_64
-#define        SET_APIC_ID(x)          (apic->set_apic_id(x))
-#else
-
-#endif
-
 /*
  * Copyright 2004 James Cleverdon, IBM.
  * Subject to the GNU Public License, v.2
@@ -299,6 +293,7 @@ struct apic {
        int (*phys_pkg_id)(int cpuid_apic, int index_msb);
 
        unsigned int (*get_apic_id)(unsigned long x);
+       /* Can't be NULL on 64-bit */
        unsigned long (*set_apic_id)(unsigned int id);
 
        int (*cpu_mask_to_apicid_and)(const struct cpumask *cpumask,
index aee7deddabd089b31bef1739c51a7972e04cb10d..f3034ba0d0439d9bce3fe17d64907eea20aad147 100644 (file)
@@ -2249,7 +2249,7 @@ void __init apic_set_eoi_write(void (*eoi_write)(u32 reg, u32 v))
 static void __init apic_bsp_up_setup(void)
 {
 #ifdef CONFIG_X86_64
-       apic_write(APIC_ID, SET_APIC_ID(boot_cpu_physical_apicid));
+       apic_write(APIC_ID, apic->set_apic_id(boot_cpu_physical_apicid));
 #else
        /*
         * Hack: In case of kdump, after a crash, kernel might be booting