From 873129ca7b56c7b28dcf712b3bd50c08dc36b910 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Wed, 21 Jul 2021 13:25:21 +0200 Subject: s390/hwcaps: split setup_hwcaps() setup_hwcaps() is a quite large function. Make it smaller by moving the elf platform setup code into an independent setup function. Signed-off-by: Heiko Carstens --- arch/s390/kernel/processor.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'arch') diff --git a/arch/s390/kernel/processor.c b/arch/s390/kernel/processor.c index b5569a67ee1d..7517e430b9e8 100644 --- a/arch/s390/kernel/processor.c +++ b/arch/s390/kernel/processor.c @@ -183,7 +183,6 @@ static void show_cpu_summary(struct seq_file *m, void *v) static int __init setup_hwcaps(void) { static const int stfl_bits[6] = { 0, 2, 7, 17, 19, 21 }; - struct cpuid cpu_id; int i; /* @@ -278,6 +277,20 @@ static int __init setup_hwcaps(void) if (MACHINE_HAS_PCI_MIO) elf_hwcap |= HWCAP_PCI_MIO; + /* + * Virtualization support HWCAP_INT_SIE is bit 0. + */ + if (sclp.has_sief2) + int_hwcap |= HWCAP_INT_SIE; + + return 0; +} +arch_initcall(setup_hwcaps); + +static int __init setup_elf_platform(void) +{ + struct cpuid cpu_id; + get_cpu_id(&cpu_id); add_device_randomness(&cpu_id, sizeof(cpu_id)); switch (cpu_id.machine) { @@ -319,16 +332,9 @@ static int __init setup_hwcaps(void) strcpy(elf_platform, "z15"); break; } - - /* - * Virtualization support HWCAP_INT_SIE is bit 0. - */ - if (sclp.has_sief2) - int_hwcap |= HWCAP_INT_SIE; - return 0; } -arch_initcall(setup_hwcaps); +arch_initcall(setup_elf_platform); static void show_cpu_topology(struct seq_file *m, unsigned long n) { -- cgit v1.2.3