x86/apic: Remove the SET_APIC_ID(x) macro

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>
This commit is contained in:
Dou Liyang 2017-03-08 19:07:50 +08:00 committed by Thomas Gleixner
parent 4495c08e84
commit 5d64d209c4
2 changed files with 2 additions and 7 deletions

View File

@ -252,12 +252,6 @@ static inline int x2apic_enabled(void) { return 0; }
#define x2apic_supported() (0) #define x2apic_supported() (0)
#endif /* !CONFIG_X86_X2APIC */ #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. * Copyright 2004 James Cleverdon, IBM.
* Subject to the GNU Public License, v.2 * Subject to the GNU Public License, v.2
@ -299,6 +293,7 @@ struct apic {
int (*phys_pkg_id)(int cpuid_apic, int index_msb); int (*phys_pkg_id)(int cpuid_apic, int index_msb);
unsigned int (*get_apic_id)(unsigned long x); unsigned int (*get_apic_id)(unsigned long x);
/* Can't be NULL on 64-bit */
unsigned long (*set_apic_id)(unsigned int id); unsigned long (*set_apic_id)(unsigned int id);
int (*cpu_mask_to_apicid_and)(const struct cpumask *cpumask, int (*cpu_mask_to_apicid_and)(const struct cpumask *cpumask,

View 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) static void __init apic_bsp_up_setup(void)
{ {
#ifdef CONFIG_X86_64 #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 #else
/* /*
* Hack: In case of kdump, after a crash, kernel might be booting * Hack: In case of kdump, after a crash, kernel might be booting