x86/of: Set the parse_smp_cfg for all the DeviceTree platforms by default
x86_dtb_parse_smp_config() must be set by DeviceTree platform for parsing SMP configuration. Set the parse_smp_cfg pointer to x86_dtb_parse_smp_config() by default so that all the dtb platforms need not to assign it explicitly. Today there are only two platforms using DeviceTree in x86, ce4100 and hv_vtl. Remove the explicit assignment of x86_dtb_parse_smp_config() function from these. Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/1712068830-4513-3-git-send-email-ssengar@linux.microsoft.com
This commit is contained in:
parent
fe5e6b599f
commit
222408cde4
@ -34,7 +34,6 @@ void __init hv_vtl_init_platform(void)
|
|||||||
/* Avoid searching for BIOS MP tables */
|
/* Avoid searching for BIOS MP tables */
|
||||||
x86_init.mpparse.find_mptable = x86_init_noop;
|
x86_init.mpparse.find_mptable = x86_init_noop;
|
||||||
x86_init.mpparse.early_parse_smp_cfg = x86_init_noop;
|
x86_init.mpparse.early_parse_smp_cfg = x86_init_noop;
|
||||||
x86_init.mpparse.parse_smp_cfg = x86_dtb_parse_smp_config;
|
|
||||||
|
|
||||||
x86_platform.get_wallclock = get_rtc_noop;
|
x86_platform.get_wallclock = get_rtc_noop;
|
||||||
x86_platform.set_wallclock = set_rtc_noop;
|
x86_platform.set_wallclock = set_rtc_noop;
|
||||||
|
@ -24,18 +24,15 @@ extern u64 initial_dtb;
|
|||||||
extern void add_dtb(u64 data);
|
extern void add_dtb(u64 data);
|
||||||
void x86_of_pci_init(void);
|
void x86_of_pci_init(void);
|
||||||
void x86_dtb_parse_smp_config(void);
|
void x86_dtb_parse_smp_config(void);
|
||||||
|
void x86_flattree_get_config(void);
|
||||||
#else
|
#else
|
||||||
static inline void add_dtb(u64 data) { }
|
static inline void add_dtb(u64 data) { }
|
||||||
static inline void x86_of_pci_init(void) { }
|
static inline void x86_of_pci_init(void) { }
|
||||||
static inline void x86_dtb_parse_smp_config(void) { }
|
static inline void x86_dtb_parse_smp_config(void) { }
|
||||||
|
static inline void x86_flattree_get_config(void) { }
|
||||||
#define of_ioapic 0
|
#define of_ioapic 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_OF_EARLY_FLATTREE
|
|
||||||
void x86_flattree_get_config(void);
|
|
||||||
#else
|
|
||||||
static inline void x86_flattree_get_config(void) { }
|
|
||||||
#endif
|
|
||||||
extern char cmd_line[COMMAND_LINE_SIZE];
|
extern char cmd_line[COMMAND_LINE_SIZE];
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
@ -277,9 +277,9 @@ static void __init dtb_apic_setup(void)
|
|||||||
dtb_ioapic_setup();
|
dtb_ioapic_setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_OF_EARLY_FLATTREE
|
|
||||||
void __init x86_flattree_get_config(void)
|
void __init x86_flattree_get_config(void)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_OF_EARLY_FLATTREE
|
||||||
u32 size, map_len;
|
u32 size, map_len;
|
||||||
void *dt;
|
void *dt;
|
||||||
|
|
||||||
@ -301,8 +301,10 @@ void __init x86_flattree_get_config(void)
|
|||||||
|
|
||||||
if (initial_dtb)
|
if (initial_dtb)
|
||||||
early_memunmap(dt, map_len);
|
early_memunmap(dt, map_len);
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
if (of_have_populated_dt())
|
||||||
|
x86_init.mpparse.parse_smp_cfg = x86_dtb_parse_smp_config;
|
||||||
|
}
|
||||||
|
|
||||||
void __init x86_dtb_parse_smp_config(void)
|
void __init x86_dtb_parse_smp_config(void)
|
||||||
{
|
{
|
||||||
|
@ -139,7 +139,6 @@ void __init x86_ce4100_early_setup(void)
|
|||||||
x86_init.resources.probe_roms = x86_init_noop;
|
x86_init.resources.probe_roms = x86_init_noop;
|
||||||
x86_init.mpparse.find_mptable = x86_init_noop;
|
x86_init.mpparse.find_mptable = x86_init_noop;
|
||||||
x86_init.mpparse.early_parse_smp_cfg = x86_init_noop;
|
x86_init.mpparse.early_parse_smp_cfg = x86_init_noop;
|
||||||
x86_init.mpparse.parse_smp_cfg = x86_dtb_parse_smp_config;
|
|
||||||
x86_init.pci.init = ce4100_pci_init;
|
x86_init.pci.init = ce4100_pci_init;
|
||||||
x86_init.pci.init_irq = sdv_pci_init;
|
x86_init.pci.init_irq = sdv_pci_init;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user