]> git.dujemihanovic.xyz Git - linux.git/commitdiff
s390/hwcaps: split setup_hwcaps()
authorHeiko Carstens <hca@linux.ibm.com>
Wed, 21 Jul 2021 11:25:21 +0000 (13:25 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Tue, 27 Jul 2021 07:39:20 +0000 (09:39 +0200)
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 <hca@linux.ibm.com>
arch/s390/kernel/processor.c

index b5569a67ee1d1208de6408a65b434a1c4ab12087..7517e430b9e83534830f5e10fa0bc0cbd907d027 100644 (file)
@@ -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)
 {